我在R中有一个矩阵,而且不需要做一个for循环我想随机洗牌行,但是每个列都是独立的。
即,
A=cbind(c(1,2,3),c(4,5,6))
我希望有一个新的矩阵,让我们说A.shuffle,其中第1 c(1,2,3)列和第2 c(4,5,6)列是随机混合的。
例如,
A.shuffle = cbind(c(1,3,2), c(6,4,5))
即,在第1列中,随机shuffle改变了2和3的位置,而在第2列中,不同的随机shuffle将6的位置改为4,4到5和5到6。
在R中做这件事的好方法是什么,而不需要做循环?
谢谢!
答案 0 :(得分:9)
这个怎么样?
> apply(A, 2, sample)