我想知道是否可以通过substitute命令取消引用传递给表达式的字符串.
具体来说,我使用dplyr来过滤并从数据框中进行选择:
> w
subject sex response
1 1 M 19.08
2 2 M 16.46
... ... ... ...
6 6 M 23.60
7 7 M 23.96
8 8 F 22.48
9 9 F 25.79
... ... ... ...
16 16 F 26.66
Run Code Online (Sandbox Code Playgroud)
以下产生了所需的结果:
> w %.% filter(sex == "M") %.% select(response)
response
1 19.08
2 16.46
3 22.81
4 18.62
5 18.75
6 23.60
7 23.96
Run Code Online (Sandbox Code Playgroud)
但我想以更一般的方式做到这一点.以下内容不会产生所需的结果,因为字符串"sex"用引号括起来.
替代(w%.%filter(y =="M"),list(y = paste(names(w)[2])))
w %.% filter("sex" == "M")
> …Run Code Online (Sandbox Code Playgroud)