For循环在R中只返回一个输出

For loop returning just one output in R

我从 c​​sv 中得到一个 49*49 矩阵作为输入,并试图将总和打印为 49*49 矩阵,但我只得到一个值作为总和的输出。

w <- read.csv(file="ma.csv", header=F, sep=",");
sum <- 4
for(i in 1:49){
  for(j in 1:49)
  {
    sum = sum + w[i,j];

  }
}  

可能是

w1 <- matrix(NA, ncol=3, nrow=3)
sum1 <- 4
for(i in 1:3){
 for(j in 1:3){
   w1[i,j] = sum1 + w[i,j];
   }
 }  
w1[] <- cumsum(w1)

或者没有任何循环

 w2 <- w 
 w2[] <- cumsum(w+sum1)
 identical(w2, w1)
 #[1] TRUE

数据

set.seed(24)
w <- matrix(sample(0:20, 3*3, replace=TRUE), ncol=3)