如何在dplyr管道中将变量名传递给条件求和?
问题的关键是如何将列变量传递到分组的df中,以有条件地对数据求和。示例的数据如下所示:如何在dplyr管道中将变量名传递给条件求和?,r,dplyr,rlang,nse,R,Dplyr,Rlang,Nse,问题的关键是如何将列变量传递到分组的df中,以有条件地对数据求和。示例的数据如下所示: 库(dplyr) 图书馆(rlang) 种子(1) #假日期 日期变量% purrr::reduce(c) dummy_df这似乎是的操作顺序问题和[。看起来您只需要将拼接部分用括号括起来 df %>% group_by(!!!grouping_vars) %>% summarize(!!new_sum_column := sum((!!value_var_col)[dat
库(dplyr)
图书馆(rlang)
种子(1)
#假日期
日期变量%
purrr::reduce(c)
dummy_df这似乎是的操作顺序问题
和[
。看起来您只需要将拼接部分用括号括起来
df %>%
group_by(!!!grouping_vars) %>%
summarize(!!new_sum_column := sum((!!value_var_col)[date >= date_period], na.rm = T)) %>%
select(!!!grouping_vars, !!sym(new_sum_column))
请注意(!!value\u var\u col)
而不仅仅是!!value\u var\u col
。这样拼接将在子集之前进行。Hmm,不太熟悉使用sym
或syms
进行此操作。您检查过了吗?太棒了!这非常有效;感谢您的帮助