Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dplyr避免反勾号字符_R_Dplyr_Rodbc - Fatal编程技术网

使用dplyr避免反勾号字符

使用dplyr避免反勾号字符,r,dplyr,rodbc,R,Dplyr,Rodbc,如何编写select的参数而不使用反勾字符?我想这样做,这样我就可以从变量中以字符串的形式传入这个参数 df <- dat[["__Table"]] %>% select(`__ID` ) %>% mutate(fk_table = "__Table", val = 1) 不幸的是,列名中的字符无法避免,因为数据是通过ODBC从关系数据库(FileMaker)下载的,需要在保留列名的同时写回数据库 理想情况下,我希望能够做到以下几点: colName <- "__ID"

如何编写
select
的参数而不使用反勾字符?我想这样做,这样我就可以从变量中以字符串的形式传入这个参数

df <- dat[["__Table"]] %>% select(`__ID` ) %>% mutate(fk_table = "__Table", val = 1)
不幸的是,列名中的
字符无法避免,因为数据是通过ODBC从关系数据库(FileMaker)下载的,需要在保留列名的同时写回数据库

理想情况下,我希望能够做到以下几点:

colName <- "__ID"    
df <- dat[["__Table"]] %>% select(colName) %>% mutate(fk_table = "__Table", val = 1)
它抛出以下错误:

Error: All select() inputs must resolve to integer column positions.
The following do not:
*  "__ID"
Error in parse(text = "__ID") : <text>:1:1: unexpected input
1: _
    ^
关于
R
中反勾号字符的参考:

您可以将
作为.name()
选择()一起使用:


colName您应该看看如何使用
select(
(以及
dplyr
函数的其他下划线版本)。这不是重复的吗-?OP希望传入变量,而不是使用字符串。@hrbrmstr好的,这应该可以与
var@stevenbaupré一起使用。谢谢,这正是我需要的。我对您的答案做了一个小的编辑,所以它使用一个变量来保存列名,但这只是一个微不足道的更改。感谢您让我了解
as.name()
Error in parse(text = "__ID") : <text>:1:1: unexpected input
1: _
    ^
eval(parse(text="`__ID`")
colName <- "__ID"
df <- data.frame(`__ID` = c(1,2,3), `123` = c(4,5,6), check.names = FALSE)
select_(df, as.name(colName))