2017-05-09 3 views
1

データセットからの置換を伴う(変数idで定義される)クラスタを描きたいと思います。以前に回答した質問とは対照的に、各観測をK回繰り返すためにK回選択されたクラスタが必要です。つまり、私はクラスタのブートストラップを行っています。クラスタによる置換によるリサンプル

例えば、以下のサンプルはid=1であるが、新しいデータセットsではの観測を1回だけ繰り返す。 id=1のすべての観測を2回表示したい。

f = data.frame(id=c(1,1,2,2,2,3,3), X = rnorm(7)) 
set.seed(451); new.ids = sample(unique(f$id), replace=TRUE) 
s = f[ f$id %in% new.ids, ] 

答えて

0

1つのオプションは、各new.idlapplyになると、リストに保存します。次に、すべてをまとめてスタックすることができます:

library(data.table) 
    rbindlist(lapply(new.ids, function(x) f[f$id %in% x,])) 
# id   X 
#1: 1 1.20118333 
#2: 1 -0.01280538 
#3: 1 1.20118333 
#4: 1 -0.01280538 
#5: 3 -0.07302158 
#6: 3 -1.26409125 
関連する問題