Вопрос по r, fread, data.table – Ошибка в R data.table v1.9.6 - функция «fread»

10

Я недавно обновил до data.table 1.9.6 и получаю следующую ошибку при использованииfread:

 fread("Aug14.csv")
Error in fread("Aug14.csv") : 
  4 arguments passed to .Internal(nchar) which requires 3

В другом посте обсуждается эта ошибка в другом контексте, но она работала нормально до обновления до data.table 1.9.6. Любой совет?

Вот мои настройки:

sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] data.table_1.9.6 Matrix_1.2-2    

loaded via a namespace (and not attached):
[1] modeltools_0.2-21 tools_3.2.0       splines_3.2.0     grid_3.2.0        chron_2.3-47      stats4_3.2.0      lattice_0.20-33  
Странный. Я только сегодня утром прокомментировал другой вопрос с июня. Я полагал, что это было исправлено, но подано# 1370 перепроверить. Matt Dowle
Возможно ли, что у вас есть 2 библиотеки R на вашем пути и каким-то образом старая версия все еще вертится. Мы замечаемты на винде, Очистите старый .dll и переустановите data.table. Также перезагрузитесь, чтобы очистить зомби-процессы, удерживающие блокировку старого .dll. Я видел это раньше на Windows. Обратите внимание, что другой отчет был такжеWindows. Matt Dowle
stackoverflow.com/questions/31142280/... Matt Dowle
Благодарю. Пожалуйста напечатайтеnchar по подсказке. Это вызов с 4 аргументами:.Internal(nchar(x, type, allowNA, keepNA)) и делаетfind("nchar") вернуть"package:base" ? Matt Dowle

Ваш Ответ

1   ответ
16

кажется, более широкая проблема, затрагивающая и другие пакеты, и нечто подобное было поднято на r-devel здесь:

http://r.789695.n4.nabble.com/Error-generated-by-Internal-nchar-disappears-when-debugging-td4713138.html

Если я правильно понимаю, CRAN предоставляет один двоичный файл Windows для серии R 3.2. *. Я предполагаю, что этот двоичный файл построен с использованием последней версии R из этой серии, в настоящее время R 3.2.2. Как отметил Андрей Т. в комментарииВот, базовая функция Rnchar получил дополнительный аргумент в R 3.2.1. Поскольку data.table использует функцию Rnchar и это устанавливаетByteCompile:TRUE в своем файле DESCRIPTION бинарный пакет CRAN для Windows не совместим с R 3.2.0. Я предполагаю, что двоичные несовместимые изменения в самом R должны вноситься в версию .0 только по этой причине, но я не уверен в этом. Если пакеты компилируются при установке (например, Ubuntu), это не проблема.

Если вы используете R <3.2.0 на любой платформе, проблем не должно быть.

Если вы используете R> = 3.2.1 на любой платформе, проблем не должно быть.

Если вы используете R 3.2.0 в Windows и устанавливаете двоичный файл .zip из CRAN (то есть метод по умолчанию), вам нужно либо обновить его до R> = 3.2.1, либо создать data.table (и, возможно, любой другой пакет, использующийnchar это также установленоByteCompile:TRUE) сами пользуетесьRtools.

Ага! Большое спасибо за продолжение - я не смог вернуться к этому до сегодняшнего дня; обновлен до R 3.2.2 и теперь я вернулся к data.table совершенству. Хорошо знатьnchar тоже изменился .. Я использую эту функцию немного ... Спасибо! JK_chitown

Похожие вопросы