gpt4 book ai didi

R 编程 - 向现有矩阵添加额外的列

转载 作者:行者123 更新时间:2023-12-03 10:24:08 29 4
gpt4 key购买 nike

我是 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
}

这给出了以下错误
Error in randomMatrix51.mat[1, ctr] <- sum(randomMatrix[ctr, 1:10])/10 :incorrect
number of subscripts on matrix

我试过这个
cbind(randomMatrix,sum(randomMatrix [ctr, 1:10])/10)

但它只适用于一行,如果我在循环中使用这个 cbind,所有旧值都会被覆盖。

如何在新列中添加前 10 个值的平均值。除了遍历行之外,有没有更好的方法来做到这一点?

最佳答案

砰!

a <- matrix(1:5000, nrow=100)
a <- cbind(a,apply(a[,1:10],1,mean))

然而,在大型数据集上,使用速度更快(而且可以说更简单):
cbind(a, rowMeans(a[,1:10]) )

关于R 编程 - 向现有矩阵添加额外的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972926/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com