2017-02-05 5 views
1

私は663要素のベクトルを持っています。ベクトルの長さ(つまり663)に等しいベクトルからランダムサンプルを作成したいと思います。言い換えれば、私は663要素のすべての可能な順序から無作為のサンプルを取っていきたいと思います。私の目標は、N個のランダムサンプルまたはランダムに選択された順列のデータフレームを作成することです。RのベクトルからN個のランダムサンプルを引き出す方法は?

私は次のことを試してみました:

library(combinat) 
perms <- as.data.frame(permn(1:663)) 

非常に多くの可能な順列があるので、私はエラーメッセージが表示されます。

私の次の考えは、サンプル/並べ替えと要素(つまり663)と同じ数の行を持つデータフレームを作成し、sapply()sample()のような関数を使用することです。しかし、私はこのアプローチが効率的だとは思わない。

samples <- replicate(100, table(sample(1:663, 663,replace = F))) 

を、私はちょうどものの100列のデータフレームを取得:

私も試してみました。あなたは `table`を取っているので

+1

に動作します。 'replace = FALSE'を使用しているので、頻度はちょうど1です。 – akrun

答えて

1

replicate

a <- 1:663 #vector of 663 elements 
perms <- as.data.frame(replicate(100, sample(a))) 
関連する問題