Я пытаюсь взять около 8 миллионов записей, разделить их на равные группы по квантилю (децили в моем реальном приложении), а затем найти среднее значение для каждой группы. Это, я надеюсь, воспроизводимый пример:
require(Hmisc) # for weighted functions
year <- c(10,10,20,20,30,30)
hhinc99 <- c(101,102,301,301,501,502)
wtsupp <- c(1.1,1.2,1.3,1.5,1.7,1.11)
midy <- tibble(year, hhinc99, wtsupp)
midy %>%
group_by(year) %>%
mutate(inc2 <- hhinc99,
inc_q_groups <- cut(inc2, breaks =
wtd.quantile(hhinc99,
weights = wtsupp,
probs=c(0, .5, 0))) %>%
group_by(inc_q_groups) %>%
summarize(inc_q_means <-
wtd.mean(hhinc99, weights = wtsupp, na.rm=TRUE))) ->
inc_dec_means
Когда я запускаю этот код, я получаю следующую ошибку.
Error in mutate_impl(.data, dots) :
Evaluation error: object 'inc2' not found.
Раньше я писал функции, в которых переменная mutate определяется в терминах другой переменной mutate, определенной слева от нее. Не уверен, почему не здесь.