我有一个像这样的表:
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);
}
reader在其中获取对应的元素
但是如何在 R 中做这种事情呢?
所以我会开始......
for(i in (1:columns))
{
}
最佳答案
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) 未能为向量预分配空间来继续降低效率 ...
另见:
关于c# - 将 C# 代码转换为 R 以将表转换为向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7451466/