взять образец из фрейма данных в пропорции к двоичному результату - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть фрейм данных, который включает двоичный результат плюс другие переменные. я хочу взять образец размера n из этих данных, но я хочу видеть ту же пропорцию ответа в образце. например, если в ответе исходные данные имеют% 60 из «1» и% 40 из «0», то я хочу увидеть такую ​​же пропорцию в файле выборки размера n. Смоделированные данные ниже с такими же пропорциями.

    response<- c(1,1,1,1,1,1,0,0,0,0)
    x <- c(11,34,23,45,77,8,9,87,32,56)
    data <- data.frame(response,x)

1 Ответ

0 голосов
/ 14 сентября 2018

Здесь показан подход с использованием dplyr::sapmle_frac и purrr::map2

library(dplyr)
library(purrr)
library(tidyr)
data %>% group_by(response) %>% mutate(grb=n()/nrow(.)) %>% #Get precentage for each response
         group_by(response,grb) %>% nest() %>% #Group by res and grb then do nesting
         mutate(samp = map2(data, grb, sample_frac))  %>% 
         select(response, samp) %>%
         unnest()
...