2

Rに行列があり、forループを実行する必要なしに、行をランダムにシャッフルしたいのですが、列ごとに独立しています。

つまり、

A=cbind(c(1,2,3),c(4,5,6))

新しいマトリックスが必要です。たとえば、列1 c(1,2,3)と列2 c(4,5,6)が独立してランダムにシャッフルされるA.shuffleとしましょう。

例えば、

A.shuffle = cbind(c(1,3,2), c(6,4,5))

つまり、列1ではランダムシャッフルが2と3の位置を変更し、列2では別のランダムシャッフルが6から4、4から5、5から6の位置を変更しました。

forループを実行せずにRでそれを行うための良い方法は何でしょうか?

ありがとう!

4

1 に答える 1

10

これはどう?

> apply(A, 2, sample)
于 2013-03-20T22:02:37.613 に答える