R对矩阵中的每k列求和

标签 r matrix

我有一个矩阵 temp1(维度 Nx16)(通常为 NxM)

我想将每行中的每 k 列求和为一个值。

到目前为止,这是我得到的结果:

cbind(rowSums(temp1[,c(1:4)]), rowSums(temp1[,c(5:8)]), rowSums(temp1[,c(9:12)]), rowSums(temp1[,c(13:16)]))

必须有一种更优雅(和通用)的方法来做到这一点。

我在这里注意到了类似的问题:
sum specific columns among rows

无法使用 Ananda 的解决方案; 出现以下错误:

sapply(split.default(temp1, 0:(length(temp1)-1) %/% 4), rowSums)

Error in FUN(X[[1L]], ...) :
'x' must be an array of at least two dimensions

请指教。

最佳答案

你可以使用by:

do.call(cbind, by(t(temp1), (seq(ncol(temp1)) - 1) %/% 4, FUN = colSums))

关于R对矩阵中的每k列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320580/

相关文章:

matlab - 将 N^2 个 3x3 矩阵串联成一个 3Nx3N 矩阵

linux - 如何在文件中为 R 编写和执行 hello world 程序?

r - R 中线性回归的引导标准误差

r - 乘以概率分布函数

java - 矩阵乘法错误 : incompatible types (float to int)

python - 使用 numpy 的高效区域加权和

r - 有没有办法让 R 帮助提示(带 Tab)包括某些功能的所有参数的描述(如 Java Doc)?

r - 计算 r 中字符串中的位数

c++ - OpenGL - 从 Matrix 4x4 本地向上和向右?

python-3.x - 更改 Pytorch 3D 张量内的值