【发布时间】:2017-11-27 15:33:59
【问题描述】:
所以我有以下矩阵(我们称之为输出):
> 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
我想要做的是通过以两个为一组添加行来创建一个新矩阵(输出 2)。例如,新矩阵的第一行是:
output2[1,] <- output[1,] + output[2,]
新矩阵 output2 的第二行将由旧输出矩阵的第三行和第四行之和组成:
output2[2,] <- output[3,] + output[4,]
等等。我想知道什么是最好的编码方式,考虑到我需要对更大的矩阵做同样的事情。我正在考虑使用 seq() 函数和 for 循环创建虚拟变量。
有没有更简单的方法?
编辑:
输入(输出)
结构(c(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 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, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 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, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0, 0, 0, 0, 0, 0), .Dim = c(10L, 19L))
【问题讨论】:
-
请发帖
dput(yourMatrix)