2017-05-09 10 views
1

데이터 세트에서 대체하여 클러스터 (변수 id으로 정의)를 그려야하며 이전에 답을 얻었던 질문과 달리 K 회 반복하여 각 관측치를 K 회 반복하도록 선택한 클러스터를 원합니다. 즉, 나는 클러스터 부트 스트랩을하고있다.클러스터 별 교체 리 샘플

예를 들어, 다음 샘플 id=1은 두 번이지만 새로운 데이터 세트 s에서 한 번만 id=1에 대한 관측을 반복합니다. id=1의 모든 관측치가 두 번 나타나기를 바랍니다.

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

하나의 옵션은 각 new.id 이상 lapply로하고 목록에 저장합니다. 그런 다음 모두 함께 스택 할 수 있습니다.

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