2015-10-02 4 views
9

ich data.table 1.9.6 aktualisiert und die folgende Fehlermeldung erhalten, wenn fread mit:Fehler in R data.table v1.9.6 - Funktion "fread"

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

Ein weiterer Beitrag diskutiert diese Fehler in einem anderen Kontext, aber dies funktionierte gut vor dem Upgrade auf data.table 1.9.6. Irgendein Rat?

Hier ist mein Set up:

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 
+3

Einer meiner Kollegen sah diesen Fehler auch nach der Aktualisierung von data.table. Es wurde durch Aktualisierung von R behoben. Ich hätte es wahrscheinlich melden sollen, hatte aber nicht die Zeit, das zu untersuchen. – Roland

+0

Ok gut @Roland - Ich bin froh, dass jemand anderes das sieht - mein Problem ist, dass ich R nicht schnell genug aktualisieren kann (IT-Richtlinie - arrrgh!), Also hatte ich gehofft, dass es eine andere Version gibt. – user2642948

+1

@ user2642948 Sie haben kein reproduzierbares Beispiel angegeben. Bitte aktualisieren Sie auch den Titel Ihrer Frage, indem Sie mindestens auf den Funktionsnamen zeigen, nach dem Sie fragen. Auf diese Weise kann es einfacher für zukünftige Suchen gefunden werden. – jangorecki

Antwort

15

Dies scheint auch ein umfassenderes Problem, die anderen Pakete zu sein und etwas Ähnliches wurde hier auf r-devel angehoben:

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

Wenn ich verstehe, richtigerweise stellt CRAN eine Windows-Binärdatei für die R 3.2. * -Serie zur Verfügung. Ich nehme an, dass diese Binärdatei mit der neuesten Version von R in dieser Serie erstellt wird, derzeit R 3.2.2. Wie Andriy T. in einem Kommentar here bemerkte, erhielt die Basis-R-Funktion nchar ein zusätzliches Argument in R 3.2.1. Da data.table die R-Funktion nchar verwendet und in der Datei DESCRIPTION ByteCompile:TRUE setzt, scheint das CRAN-Binärpaket für Windows nicht mit R 3.2.0 kompatibel zu sein. Ich denke, binäre inkompatible Änderungen an R selbst sollen nur aus diesem Grund zur .0-Version gemacht werden, aber ich bin mir da nicht sicher. Wo Pakete bei der Installation kompiliert werden (z. B. Ubuntu), ist dies kein Problem.

Wenn Sie R < 3.2.0 auf einer beliebigen Plattform verwenden, sollte es kein Problem geben.

Wenn Sie R> = 3.2.1 auf einer beliebigen Plattform verwenden, sollte es kein Problem geben.

Wenn Sie R 3.2.0 unter Windows verwenden und die binäre ZIP-Datei von CRAN installieren (dh die Standardmethode), müssen Sie entweder auf R> = 3.2.1 upgraden oder data.table erstellen (und möglicherweise jedes andere Paket mit nchar, das auch ByteCompile:TRUE gesetzt) ​​selbst mit Rtools.

+1

a-ha! Vielen Dank für das Follow-up - ich konnte bis heute nicht darauf zurückkommen; Upgrade auf R 3.2.2 und jetzt bin ich zurück zu data.table goodness. Gut zu wissen 'nchar' hat sich auch geändert..ich benutze diese Funktion ein wenig ... Thx! – user2642948