конфликты маскировки

При загрузке .csv с помощью 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?

РЕДАКТИРОВАТЬ : Здесь есть тесно связанный поток , но общего решения не предлагается.

6
задан Community 23 May 2017 в 12:03
поделиться