R求和for循环

时间:2012-07-10 13:53:35

标签: r loops sum

我会试着这样说:

我正在做一笔钱:

tot <- fac$a[,1]+fac$b[,1]

其中a和b是因子,1是第一列。直到这里它没事。

现在我想使用for循环来为所有列做总和:

tot <- 0 
for (i in 5:13) {
tot[,i] <- fac$a[,i]+fac$b[,i] 
}

哪个不起作用。

有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:2)

我只能猜出你的问题。 (您忘记了错误消息。) 恕我直言它不起作用,因为tot属于数字而没有矩阵(并且没有列也没有任何可以通过索引{{1}访问的行})。

修复您的代码:i

顺便说一下,你不应该使用 for loop 来进行这种计算。改为使用矢量化:

tot <- matrix(ncol=ncol(fac$a), nrow=nrow(fac$b))