【发布时间】:2015-07-13 16:22:22
【问题描述】:
我有两个 3x3 矩阵,我想从每一行中随机选择一个项目(两个矩阵中的相同对应项目)并将这些“选定”值记录在一个新矩阵中。
从那里我想重复这个过程 5 次,每次都添加到矩阵中,这样最后我就有了一个 3x10 随机选择值的矩阵。
我会尝试说明我的意思:
我有 2 个矩阵 A 和 B。
> A = matrix( c(4,7,1,9,4,2,1,3,9), nrow = 3, ncol = 3)
> A
[,1] [,2] [,3]
[1,] 4 9 1
[2,] 7 4 3
[3,] 1 2 9
> B = matrix( c(2, 4, 3, 1, 5, 7, 4, 3, 2), nrow=3, ncol=3)
> B
[,1] [,2] [,3]
[1,] 2 1 4
[2,] 4 5 3
[3,] 3 7 2
然后我想随机选择一个介于 1 和 3 之间的整数(因为每个矩阵中有 3 列)
> random <- sample(1:3, length)
> random
[1] 1 3 2
由于数字是 1,3 和 2,我想从矩阵 A 和 B 中创建第 1 行的第 1 个元素、第 2 行的第 3 个元素和第 3 行的第 2 个元素的向量。这个将是新的矩阵 C。
> C = matrix(c(4,3,2,2,3,7), nrow = 3, ncol = 2)
> C
[,1] [,2]
[1,] 4 2
[2,] 3 3
[3,] 2 7
在此之后,我想循环该过程 5 次,每次将生成的矩阵添加到现有的“C”矩阵的一侧。
我是 R 的初学者,所以我的问题是:如何结合随机选择和循环来创建所需的结果?非常感谢任何帮助或建议,谢谢。
(我想在更大的范围内重新创建它)
【问题讨论】:
标签: r loops matrix random selection