如何在dplyr突变表达式中包含字符串?

时间:2019-06-06 21:53:28

标签: r dplyr

这是我想要的结果
ddf = data.frame(a=1:5,b = 10:14) ddf %>% mutate(pr = a)

但是,我想要一个字符串变量 v = 'a' 它将替换mut中的“ a”。就像是: ddf %>% mutate(pr = v)

上面的表达式不能满足我的要求,我想知道是否还有其他功能可以使用。

我能实现的唯一方法是

ddf = data.frame(a=1:5,b = 10:14)
v = 'a'
expr=paste0('ddf %>% mutate(pr = ',v,')')
eval(parse(text=expr))

有没有做到这一点的“真正” dplyr方法?

1 个答案:

答案 0 :(得分:0)

这项工作可以吗?

ddf %>% mutate(pr = !!sym(v))

这给出了与示例相同的输入:

a  b pr
1 10  1
2 11  2
3 12  3
4 13  4
5 14  5