For循环求和R中矩阵的每一列

时间:2019-09-15 10:19:38

标签: r for-loop

对于以下矩阵:

my_matrix<-matrix(seq(from=1,to=100,by=2))

如果我想计算每列的总和,则只需输入以下命令:colSums(my_matrix)

但是,我需要在不使用colSums(my_matrix)函数的情况下创建与colSums的等效项,而是使用for循环。

请一些帮助!!!

2 个答案:

答案 0 :(得分:1)

起诉,您可以尝试这个简单的循环,希望它有助于解决您的问题。

sum <- 0
for(i in 1:ncol(my_matrix)){
  sum[i] <- sum(my_matrix[,i])
}

答案 1 :(得分:0)

如果您明确想使用for循环,这是一种方法:

mat <- matrix(1:50, byrow = TRUE, ncol = 10)
all_vals <- numeric(ncol(mat))
for (i in seq(ncol(mat))) {
   all_vals[i] <- sum(mat[, i])
}

all_vals
#[1] 105 110 115 120 125 130 135 140 145 150

具有相同的值
colSums(mat)
#[1] 105 110 115 120 125 130 135 140 145 150