маскировка конфликтов - PullRequest
       5

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

6 голосов
/ 15 октября 2011

При загрузке .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?

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

1 Ответ

2 голосов
/ 17 октября 2011

Согласно комментариям, да, пожалуйста, отправьте отчет об ошибке:

bug.report(package="data.table")

Таким образом, это не будет забыто, вы будете получать автоматическое электронное письмо каждый раз, когда меняется статус, и вы можете снова открытьесли исправление окажется недостаточнымdo.call("rbind",...) для пустого ...) исправлено и добавлен тест.data.table включал list(...)[[1]] вместо ..1.Спасибо RYogi за сообщение № 1623.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...