R For Loop - 回归 - 矩阵

时间:2016-02-26 18:51:20

标签: r matrix statistics

我试图找出如何制作一个for循环,进行10次回归,然后将其放入10x11矩阵中。

这是我正在使用的代码,由于某种原因它无法正常工作......

for (i in 1:10) {
 Pwdlm.list[[i]] = 
 lm(Pwd[,9+i]~logwprice1+logwprice2+logwprice3+logwprice4+
    logwprice5+logwprice6+logwprice7+logwprice8+logwprice9+logwprice10+
    Pwd$storeid, data=Pwd)
}
Pwdmat = matrix(Pwdlm.list[[i]]$coefficients, nrow = 10, ncol = 11)

我一直收到这个警告:

  

警告讯息:       在矩阵(Pwdlm.list [[i]] $ coefficients,nrow = 10,ncol = 11):       数据长度[25]不是行数的子数倍或倍数[10]

但我需要将数据放入10行。

我理解没有看到数据很难但我不确定它是否与[,9 + i]

有关

1 个答案:

答案 0 :(得分:0)

您似乎没有收到lm - 来电或Pwdlm.list的分配错误。试试这个:

 Pwdmat = sapply(Pwdlm.list, coefficients)

sapply函数尝试在所有返回值的长度相等时返回矩阵。每个回归的值都在一列中,看起来就是您希望得到的形式。