加载.csv
with 时sqldf
,一切正常,直到我加载data.table
. 例如:
library(sqldf)
write.table(trees, file="trees.csv", row.names=FALSE, col.names=FALSE, sep=",")
my.df <- read.csv.sql("trees.csv", "select * from file",
header = FALSE, row.names = FALSE)
工作,而
library(data.table)
my.df <- read.csv.sql("trees.csv", "select * from file",
header = FALSE, row.names = FALSE)
# Error in list(...)[[1]] : subscript out of bounds
没有。加载时,data.table
通知您
The following object(s) are masked from 'package:base':
cbind, rbind
所以,我试过这个
rbind <- base::rbind # `unmask` rbind from base::
library(data.table)
my.df <- read.csv.sql("trees.csv", "select * from file",
header = FALSE, row.names = FALSE)
rbind <- data.table::rbind # `mask` rbind with data.table::rbind
哪个有效。在我用这个技巧乱扔所有代码之前:
处理 R 中的屏蔽冲突的最佳实践解决方案是什么?
编辑:这里有一个密切相关的线程,但没有建议通用的解决方案。