Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在dplyr管道中将变量名传递给条件求和?_R_Dplyr_Rlang_Nse - Fatal编程技术网

如何在dplyr管道中将变量名传递给条件求和?

如何在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

问题的关键是如何将列变量传递到分组的df中,以有条件地对数据求和。示例的数据如下所示:

库(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
进行此操作。您检查过了吗?太棒了!这非常有效;感谢您的帮助