В моем наборе данных у меня есть несколько возможных группирующих переменных a, b, c.Как программно сказать dplyr не группировать по каким-либо переменным?
Например:
granularity <- NA
if(isTRUE(granularity == 'all')){
# all group variables
group_variables <- quos(a, b, c)
}else if(isTRUE(granularity == 'no_c')){
# all except c
group_variables <- quos(a, b)
}else{
# no group variables
group_variables <- quo()
}
data_summary <- mydata %>%
group_by(!!! group_variables) %>%
summarise(
x_mean = mean(x)
)
Это будет работать правильно, если я установлю гранулярность 'all' или 'no_c', но этоне удается, когда я присваиваю group_variables пустому предложению.Кто-нибудь знает, как заставить это работать?
Редактировать: Этот вопрос также относится к таким функциям, как select, поэтому предположим, что я хотел запустить
data_select <- mydata %>%
select(!!! select_variables, d, e, f)
Как мне установить select_variables, чтобы иногда быть quos(a, b, c) или иногда быть пустым?
Спасибо!