1

我有一张像这样的桌子:

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))
{

}
4

1 回答 1

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) 未能为向量预分配空间来继续降低效率......

也可以看看:

于 2011-09-17T00:02:01.993 回答