r - 用 lm 对象填充列表

标签 r list for-loop

我正在尝试使用 R 中的 OLS 结果填充命名列表。我试过

li = list()
for (i in 1:10)
    li[["RunOne"]][i] = lm(y~x)

这里RunOne是指定拟合运行的随机名称,yx是一些预定义的向量。这打破了并给了我错误
Warning message:
In l[["RunOne"]][1] = lm(y ~ x) :
  number of items to replace is not a multiple of replacement length

虽然我理解错误,但我不知道如何修复它。

最佳答案

有两种解决方案(具体取决于您想要做什么)。

  • 创建一个列表,并添加一个 lm对象到每个元素:
    li = list() 
    for (i in 1:10) 
        li[[i]] = lm(y~x)
    
  • 有一个列表列表:
    li[["RunOne"]] = list()
    for (i in 1:10) 
        li[["RunOne"]][[i]] = lm(y~x)
    

  • 通常,单括号 [ ]用于向量和数据框,双括号用于列表。

    关于r - 用 lm 对象填充列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444524/

    相关文章:

    r - 如何在data.table中按变量分组并按随机顺序列出?

    java - 如何生成 LogN 唯一数字的排序列表,其中 N 是给定的数组大小?

    java - 用于替换 Java 中的列表成员的迭代器?

    javascript - for 循环内的变量给出最大值

    初学者的javascript循环差异

    r - 将列表中多个矩阵的上三角复制到下三角

    r - 使用网格填充在 R 中绘制的贝塞尔曲线

    r - mcapply : all scheduled cores encountered errors in user code

    python - 如何反转字典或列表中的值?

    javascript - for...in 循环与 jQuery 追加