2015-10-02 17 views
9

ho recentemente aggiornato a 1.9.6 data.table e ottengo il seguente errore quando si utilizza fread:Errore in R data.table v1.9.6 - Funzione "fread"

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

un altro post discute questo errore in un altro contesto, ma questo ha funzionato bene prima di passare a data.table 1.9.6. Qualche consiglio?

Ecco il mio 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

Uno dei miei colleghi ha visto questo errore anche dopo aver aggiornato data.table. È stato corretto aggiornando R. Probabilmente avrei dovuto segnalarlo, ma non ho avuto il tempo di indagare. – Roland

+0

Ok bene @Roland - Sono contento che qualcun altro stia vedendo questo - il mio problema è che non riesco ad aggiornare R abbastanza velocemente (politica IT - arrrgh!) Quindi speravo che ci fosse qualche altra facciata. – user2642948

+1

@ user2642948 Non hai fornito esempi riproducibili. Aggiorna anche il titolo della tua domanda indicando almeno il nome della funzione che stai chiedendo. In questo modo può essere più facile da trovare per eventuali ricerche future. – jangorecki

risposta

15

questo sembra essere un problema più ampio che colpisce altri pacchetti troppo e qualcosa di simile è stata sollevata sulla r-devel qui:

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

Se ho capito correttamente, CRAN fornisce un binario di Windows per la serie R 3.2. *. Immagino che questo binario sia costruito usando l'ultima versione di R in quella serie, attualmente R 3.2.2. Come ha sottolineato Andriy T. in un commento here, la funzione di base R nchar ha ottenuto un argomento aggiuntivo in R 3.2.1. Dato che data.table utilizza la funzione R nchar e imposta ByteCompile:TRUE nel suo file DESCRIPTION, il pacchetto binario CRAN per Windows non sembra essere compatibile con R 3.2.0. Immagino che le modifiche binarie incompatibili con la R stessa debbano essere apportate alla versione .0 solo per questo motivo, ma non ne sono sicuro. Dove i pacchetti vengono compilati durante l'installazione (ad esempio Ubuntu) questo non è un problema.

Se si utilizza R < 3.2.0 su qualsiasi piattaforma, non ci dovrebbero essere problemi.

Se si utilizza R> = 3.2.1 su qualsiasi piattaforma, non ci dovrebbero essere problemi.

Se si utilizza R 3.2.0 su Windows e si installa il file zip .zip da CRAN (ovvero il metodo predefinito), è necessario eseguire l'aggiornamento a R> = 3.2.1 oppure, build data.table (e potenzialmente qualsiasi altro pacchetto che utilizza nchar che imposta anche ByteCompile:TRUE) utilizzando Rtools.

+1

a-ha! Grazie mille per il seguito - non sono stato in grado di tornare a questo fino ad oggi; aggiornato a R 3.2.2 e ora sono tornato a data.table bontà. Buono a sapersi che anche 'nchar' è cambiato..Usò un po 'quella funzione ... Thx! – user2642948