小编Arz*_*anK的帖子

Dplyr - Mutate使用其他动态命名的变量动态命名变量

我正在尝试使用动态创建的名称创建一个新列,并使用涉及其他动态创建的变量的表达式填充该字段.例如,考虑以下数据框架.

ID    multiplier    value1_2015    value2_2015    value1_2016    value2_2016
 1           0.5              2              3              1              4
 2           1.0              2              4              5              1
Run Code Online (Sandbox Code Playgroud)

我想编写一个给定数据框和一年的函数,然后只计算相应年份变量的表达式,并将结果存储在一个名为的列中total_year,其中year是给函数的值.例如,如果表达式是

multiplier * value1_year + value2_year我打电话给my_fun(df, 2016)我,我应该收到

ID multiplier value1_2015 value2_2015 value1_2016 value2_2016  total_2016
 1        0.5           2           3           1           4         4.5
 2        1.0           2           4           4           5           9
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的

my_fun <- function(df, year) {

 year <- enquo(year)

 total_header <- paste("total", quo_name(year), sep = "_")
 calc1_header <- paste("value1", quo_name(year), sep = "_")
 calc2_header <- paste("value2", …
Run Code Online (Sandbox Code Playgroud)

r dplyr

10
推荐指数
1
解决办法
3648
查看次数

标签 统计

dplyr ×1

r ×1