큰 데이터 세트가 있고 샘플링을 원하는 그룹이 여러 개 있습니다. 각 그룹에는 일정한 수의 긍정적 인 경우가 있고 값이 1이고 부정적인 경우가 많으며 값은 0입니다.R - 대형 데이터 세트로 계층화 된 샘플링
각 그룹에 대해 모든 긍정적 인 사례를 선택한 다음 해당 그룹의 양성 사례 양의 4 배에 해당하는 임의의 양의 음성 사례를 선택하려고합니다.
많은 데이터를 빠르게 실행해야하는 항목이 필요합니다.
세미 업데이트 : 올바른 이름에 하위 경우
stratified_sample = data %>%
group_by(group) %>%
mutate(n_pos = sum(response == 1),
n_neg = 4 * n_pos) %>%
group_by(group,response) %>%
mutate(rec_num = n(),
random_val = runif(n()),
random_order = rank(random_val)) %>%
filter(response == 1 | random_order <= n_neg)
질문에 [최소 재현 가능한 예] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 포함하면 답을 얻을 확률이 높아집니다. . – jsb