我正在使用DBI
包从SQL Server数据库读取数据。函数dbReadTable
自动更改列名,以点代替空格。
有没有一种方法可以控制用什么代替什么,或者什么都不改变?
这样做的原因是,早先我使用带有RODBC
函数的sqlQuery
程序包,该程序包不会更改列名,并且已经有很多用旧列名编写的代码。
答案 0 :(得分:0)
这确实取决于您使用的 DBI 后端。您可以尝试:
dbReadTable(..., check.names = FALSE)
如果您需要自定义重命名策略(例如,用下划线替换空格),则需要以不变的名称读入并自己实施重命名:
clean_names <- function(x) {
gsub(" ", "_", x)
}
data <- dbReadTable(.......)
names(data) <- clean_names(names(data))