【发布时间】:2021-12-08 05:24:27
【问题描述】:
我有一个 10 x 6 矩阵,我想将 2:6 列乘以第 1 列,然后将 3:6 列乘以第 2 列,依此类推,直到剩下第 5 列 * 第 6 列。矩阵如下。
M12.7 <- matrix(data = 1:60, nrow = 10, ncol = 6)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 11 21 31 41 51
[2,] 2 12 22 32 42 52
[3,] 3 13 23 33 43 53
[4,] 4 14 24 34 44 54
[5,] 5 15 25 35 45 55
[6,] 6 16 26 36 46 56
[7,] 7 17 27 37 47 57
[8,] 8 18 28 38 48 58
[9,] 9 19 29 39 49 59
[10,] 10 20 30 40 50 60
这应该会产生 5 个矩阵,总共 15 列。然后我想将这些矩阵组合成一个 10 x 15 矩阵。我写了一个函数,可以让我到达那里。但我不能将它应用于整个参考矩阵,在这种情况下是 M12.7。功能是:
function(datamatrix, column, colz) {
datamatrix[, column] * datamatrix[, (column+1):colz]
}
函数中的datamatrix不是data.matrix。非常感谢任何帮助
【问题讨论】:
标签: r