如何在没有反向字符的情况下编写select
的参数?我想这样做,以便我可以从一个变量传递这个参数作为字符串。使用dplyr避免反引号字符
df <- dat[["__Table"]] %>% select(`__ID`) %>% mutate(fk_table = "__Table", val = 1)
更改的选择"__ID"
的说法给出了这样的错误:
Error: All select() inputs must resolve to integer column positions.
The following do not:
* "__ID"
不幸的是,无法避免在列名_
人物,因为数据是从通过ODBC关系数据库(的FileMaker)下载并且需要在保留列名的同时写回数据库。
理想情况下,我想能够做到以下几点:
colName <- "__ID"
df <- dat[["__Table"]] %>% select(colName) %>% mutate(fk_table = "__Table", val = 1)
我也试过eval(parse())
:
df <- dat[["__Table"]] %>% select(eval(parse(text="__ID"))) %>% mutate(fk_table = "__Table", val = 1)
它抛出这个错误:
Error in parse(text = "__ID") : <text>:1:1: unexpected input
1: _
^
顺便说一句,下面的工作,但是我回到了第一个(仍然带有倒勾符号)。
eval(parse(text="`__ID`")
参考有关反引号字符R
:
你应该看看使用'select _()'(和'dplyr'函数的其他下划线版本)。 – hrbrmstr
这是不是这个重复 - http://stackoverflow.com/questions/24569154? – zx8754