我有一张表:
12 34 45 45 56
23 45 56 77 77
14 94 15 45 56
15 38 25 84 65
72 35 35 4 57
18 14 45 47 56
42 34 55 55 59
我想在矢量中得到像
这样的列的总和vector[0]= 12+23+14+15+72+18+42
vector[1]= 34+45+94+38+35+14+34
vector[2]= 45+56+15+25+35+45+55
vector[3]= 45+77+45+84+4 +47+55
vector[4]= 56+77+56+65+57+56+59
我在C#
喜欢
for ( i = 0; i < columns; i++)
{
vector[i] += reader.GetDouble(i);
}
在读者中获取相应的元素
但是如何在 R 中做这种事情?
所以我会开始......
for(i in (1:columns))
{
}
答案 0 :(得分:5)
colSums(x)
或
apply(x,2,sum)
如果你想更通用,效率更低。
修改:如果您希望效率更低并使用for
循环,
v <- numeric(ncol(x))
for (i in seq(ncol(x))) {
v[i] <- sum(x[,i])
}
我们可以通过(1)使用嵌套for循环和(2)无法为向量预分配空间来继续降低效率......
另见: