所以我有以下矩阵(让我们称之为输出):
> output
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 1 1 0 0 1
[2,] 1 1 1 0 0 1
[3,] 1 1 1 0 0 1
[4,] 0 0 0 0 0 0
[5,] 1 0 1 1 0 0
[6,] 1 0 1 1 0 0
Run Code Online (Sandbox Code Playgroud)
我想要做的是通过以两个为一组添加行来创建一个新矩阵(output2).例如,新矩阵的第一行将是:
output2[1,] <- output[1,] + output[2,]
Run Code Online (Sandbox Code Playgroud)
新矩阵output2的第二行将包含旧输出矩阵的第三行和第四行的总和:
output2[2,] <- output[3,] + output[4,]
Run Code Online (Sandbox Code Playgroud)
等等.我想知道什么是最好的编码方式,考虑到我需要对更大的矩阵做同样的事情.我正在考虑用seq()函数创建虚拟变量,也许是for循环.
有更简单的方法吗?
编辑:
dput(输出)
结构(c(1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1 0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0, 0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0, 1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,1,1,1, 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0),. Dim = c(10L,19L))