我正在尝试创建一个函数,我将字符串变量传递给dplyr管道但有一些问题。如下所示
col_spread = "speed".
在select()中,我可以使用get(col_spread)来选择名为speed的列。
df %>% select(get(col_spread))
然而,当我在dplyr中使用扩散功能时
df %>% spread(key = Key_col, value = get(col_spread))
Error: Invalid column specification
它不起作用。
NSE是唯一的出路吗?如果是这样,我该怎么办?
谢谢!
答案 0 :(得分:3)
实际上get
实际上并不是一个好主意。
df %>% select_(col_spread)
然后传播它看起来像
df %>% spread_("Key_col", col_spread)
注意引用了哪些值,哪些不是。 spread_
需要两个字符值。