我是R编程的初学者,我正在尝试将一个额外的列添加到具有50列的矩阵中.这个新列将是该行中前10个值的平均值.
randomMatrix <- generateMatrix(1,5000,100,50)
randomMatrix51 <- matrix(nrow=100, ncol=1)
for(ctr in 1:ncol(randomMatrix)){
randomMatrix51.mat[1,ctr] <- sum(randomMatrix [ctr, 1:10])/10
}
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误
Error in randomMatrix51.mat[1, ctr] <- sum(randomMatrix[ctr, 1:10])/10 :incorrect
number of subscripts on matrix
Run Code Online (Sandbox Code Playgroud)
我试过这个
cbind(randomMatrix,sum(randomMatrix [ctr, 1:10])/10)
Run Code Online (Sandbox Code Playgroud)
但它只适用于一行,如果我在循环中使用这个cbind所有旧的值都被写了.
如何在新列中添加前10个值的平均值.除了循环行之外,还有更好的方法吗?