2017-02-01 7 views
1

data.frameからランダムなサンプルの行を取り出し、そのサブセットに関数を適用してから、残りの行からサンプルを取り出し、その関数を新しいサブセットに適用するパラメータ)などがあります。人口の5%が月2に私は人口のマイナス、私は一緒にやって、非常に詳細な方法を入れている1.人口が減少してからサンプルを取る

時間月で死亡したものものを必要とし、毎月死亡した場合

簡単な例は次のようになります私がサンプリングされた行からIDを保存する場所を含むこれは、その後、

library(data.table) 
dt <- data.table(Number=1:100, ID=paste0("A", 1:100)) 


first<-dt[sample(nrow(dt), nrow(dt)*.05)]$ID 
mean(dt[ID %in% first]$Number) 


second<-dt[!(ID %in% first)][sample(nrow(dt[!(ID %in% first)]), 
           nrow(dt[!(ID %in% first)])*.05)]$ID 
mean(dt[ID %in% c(first,second)]$Number) 

dt[!(ID %in% first)][!(ID %in% second)] #... 

明らかに、これはカップルの期間、過去持続可能ではないなど、第二の期間のデータからそれらをサブセット。これを行う良い方法は何ですか?私はこれが標準的な方法だと思いますが、具体的に何を探すべきか考えられませんでした。すべての入力をありがとう。

+0

これで問題はありませんが、上記のようにこれらのグループをどのように生成できますか?つまり、最初の母集団からのランダムなサブセット、母集団からサブセット1を除いた別のランダムなサブセットなどです。 – moman822

+3

実際の問題が何であるかを考えます。あなたは本当に(a)人口の5%が死ぬか、(b)人口の各メンバーが死ぬ5%の確率をシミュレートしたいですか?あるいは、各メンバーを分数生命とみなし、それぞれの人がまだ生存している可能性を引き継ぎたいと思いますか? –

+0

まあ、それは私が見ているものではなく、フレームを作る簡単な方法です。そして、どちらの方法でも、私は毎回、私の人口から「死んだ」観察を取り除く必要がありますか?あなたは私に関連性のあるものを指摘できますか? – moman822

答えて

1

これは、インターバル時間経過ごとに5%でサンプリングされたアイテムのベクトルを「成長」する方法を示しています。

removed <- numeric(0) 
for (i in 1:10){ 
    removed <- c(removed, sample((1:100)[!(1:100) %in% removed], # items out so far 
            (100-length(removed))*.05)) # 5% of remainder 
    cat(c(removed, "\n")) # print to console with each iteration. 
    } 
54 1 76 96 93 
54 1 76 96 93 81 16 13 79 
54 1 76 96 93 81 16 13 79 80 74 30 29 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 5 70 8 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 5 70 8 66 82 50 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 5 70 8 66 82 50 6 91 99 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 5 70 8 66 82 50 6 91 99 46 27 51 
54 1 76 96 93 81 16 13 79 80 74 30 29 52 33 86 19 34 32 41 62 5 70 8 66 82 50 6 91 99 46 27 51 22 23 20 

項目の実際の数は、「削除」のリストに追加されていることに注意してください減少するだろう。

+0

これは非常に役に立ちました、ありがとうございました。 – moman822