警告消息:要替换的项目数不是替换长度的倍数

时间:2014-05-14 03:44:24

标签: r regression

运行此代码时收到警告。

例如,当我放 tm1<- summary(tmfit)[c(4,8,9)], 我可以得到结果,但我需要为每个$ i $运行此代码。

为什么会出现此错误?

有没有办法这样做而不是通过for循环?

具体来说,我有很多具有相同两个回归量($ x $)的回归量($ y $)。

如何获得这些回归分析结果(进行一些比较)?

dreg=read.csv("dayreg.csv")
fundr=read.csv("fundreturnday.csv")
num=ncol(fundr)
exr=dreg[,2]
tm=dreg[,4]
for(i in 2:num)
{
  tmfit=lm(fundr[,i]~exr+tm)
  tm1[i]<- summary(tmfit)[c(4,8,9)]
}

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

尝试将结果存储到列表而不是矢量中。

dreg=read.csv("dayreg.csv")
fundr=read.csv("fundreturnday.csv")
num=ncol(fundr)
exr=dreg[,2]
tm = list()
for(i in 2:num)
{
  tmfit=lm(fundr[,i]~exr+tm)
  tm1[[i]]<- summary(tmfit)[c(4,8,9)]
}

您可以像这样查看列表中的元素

tm1[[2]]