У меня проблема с пониманием того, как правильно использовать функцию dplyr
bootstrap
.R - dplyr bootstrap issue
То, что я хочу, чтобы генерировать распределение начальной загрузки из двух случайным образом выделенных групп и вычислить разницу в средствах, как это, например:
library(dplyr)
library(broom)
data(mtcars)
mtcars %>%
mutate(treat = sample(c(0, 1), 32, replace = T)) %>%
group_by(treat) %>%
summarise(m = mean(disp)) %>%
summarise(m = m[treat == 1] - m[treat == 0])
Вопрос заключается в том, что мне нужно, чтобы повторить эту операцию 100
, 1000
, и больше раз.
Использование replicate
, я могу сделать
frep = function(mtcars) mtcars %>%
mutate(treat = sample(c(0, 1), 32, replace = T)) %>%
group_by(treat) %>%
summarise(m = mean(disp)) %>%
summarise(m = m[treat == 1] - m[treat == 0])
replicate(1000, frep(mtcars = mtcars), simplify = T) %>% unlist()
и получить распределение
Я не очень понимаю, как использовать bootstrap
здесь. Как мне начать?
mtcars %>%
bootstrap(10) %>%
mutate(treat = sample(c(0, 1), 32, replace = T))
mtcars %>%
bootstrap(10) %>%
do(tidy(treat = sample(c(0, 1), 32, replace = T)))
Это не работает. Где я должен поставить bootstrap
?
Спасибо.
да! Спасибо. Это потрясающе. Так вы можете объяснить мне, мне нужно создать 'data.frame' внутри' do'? можете ли вы опубликовать свой ответ? еще раз спасибо! – giacomo
Поскольку мы создаем столбец 'treat', мы завершаем его 'data.frame', чтобы получить вывод как data.frame. «.» Означает содержимое набора данных на 'lhs''%>% ' – akrun