将c#代码翻译为R.

时间:2011-09-16 23:53:17

标签: c# r code-translation

我有一张表:

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

}

1 个答案:

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

另见: