我试图用R中的OLS结果填充一个命名列表.我试过了
li = list()
for (i in 1:10)
li[["RunOne"]][i] = lm(y~x)
Run Code Online (Sandbox Code Playgroud)
这RunOne
是一个随机名称,指定拟合运行一个,y
并且x
是一些预定义的向量.这打破并给我错误
Warning message:
In l[["RunOne"]][1] = lm(y ~ x) :
number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)
虽然我理解错误,但我不知道如何解决它.
有两种解决方案(具体取决于您想要做什么).
创建一个列表,并lm
为每个元素添加一个对象:
li = list()
for (i in 1:10)
li[[i]] = lm(y~x)
Run Code Online (Sandbox Code Playgroud)列出清单:
li[["RunOne"]] = list()
for (i in 1:10)
li[["RunOne"]][[i]] = lm(y~x)
Run Code Online (Sandbox Code Playgroud)通常,单个括号[ ]
用于向量和数据帧,双括号用于列表.