R
に、私はデータセットを再サンプリングしようとしています。次のように同じコード(ID)のエントリでリサンプリングする
データベースA
は、最初の列(整数)と、各列の特性のいくつかのコードを含む:
A <- as.matrix(cbind(floor(runif(1000, 1,101)), matrix(rexp(20000, rate=.1), ncol=20)))
いくつかのコードは、最初の列で繰り返されます。
最初の列からランダムにコードを再サンプリングし、再サンプリングされたコードベクトルの各エントリに対して、私に右手側を与えるように、新しい行列またはデータフレームを作成します。再サンプリングされた同じコードを持つベクトルがさらにある場合は、両方を含める必要があります。また、同じコードを2回リサンプリングすると、同じリサンプルコードを持つAのすべての行が2回表示されます。
--- EDIT ---
リサンプリングは置き換えて行います。これまでのところ、私がやったことです:
res <- resample(unique(A[,1]), size = length(unique(A[,1])) , replace = TRUE, prob= NULL)
A.new <- A[which(A[,1] %in% res),]
しかし、A
の2行は同じコード(たとえば2)を持っている、とベクトルres
が2
4回を選択したことを想定しています。 A.new
では私はこれらの2行は4回
所望の出力にこのリストを凝縮する
rbind
を使用しては明らかではありません。あなたは交換でサンプリングしようとしていますか?共通の最初の列を共有する複数の行をインクルードしようとしていますか? – manotheshark@manothesharkありがとうございます。私はもう少し説明を加えました。 – tony
@lmoありがとう、私はこれまでのことを加えました。 – tony