我试图确定从每行中随机采样的矩阵中采样了哪些列。函数 sample 似乎无法告诉您实际采样了哪些位置。现在,如果所有值都是唯一的,那么一个简单的匹配例程就可以解决这个问题。但是,它们不是我的情况,所以这不起作用。
x <- c(2,3,5,1,6,7,2,3,5,6,3,5)
y <- matrix(x,ncol=4,nrow=3)
random <- t(apply(y,1,sample,2,replace=FALSE))
是的
[,1] [,2] [,3] [,4]
[1,] 2 1 2 6
[2,] 3 6 3 3
[3,] 5 7 5 5
随机的
[,1] [,2]
[1,] 2 6
[2,] 3 3
[3,] 5 5
对于原始矩阵中的重复值,我无法判断 random[1,1] 是从第 1 列还是第 3 列采样的,因为它们的值都是 2。因此,匹配在这里不起作用。
伴随矩阵“随机”,我还想要一个矩阵,它在一个相同大小的矩阵中给出每个值的采样列。例如,例如:
[,1] [,2]
[1,] 1 4
[2,] 1 3
[3,] 3 4
谢谢!