Come risolvere in r: ultima riga incompleta trovata da readtableheader
Un avviso che potresti incontrare in R è:
Warning message: In read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'my_data.csv'
Questo avviso si verifica quando si tenta di leggere un file CSV in R ma l’ultima riga del file non è vuota.
È importante notare che questo è solo un messaggio di avviso e non un errore. Anche quando viene visualizzato questo messaggio, il file verrà comunque importato in R.
Questo tutorial spiega come evitare completamente questo avviso.
Come riprodurre l’avviso
Diciamo che ho il seguente file CSV chiamato my_data.csv che voglio importare in R:
Supponiamo ora di provare a utilizzare il seguente codice per importare questo file CSV in R:
#import CSV file
df <- read. csv (' my_data.csv ')
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on 'my_data.csv'
Ricevo un messaggio di avviso perché l’ultima riga del file CSV non è vuota.
Tuttavia, il file è stato comunque importato correttamente:
#view imported data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3.
Metodo 1: come evitare l’avviso
Un modo per evitare questo avviso è semplicemente inserire la funzione read.csv() all’interno di una funzione sopprimeWarnings() :
#import CSV file and remove any warnings
df <- suppressWarnings( read.csv (' my_data.csv '))
#view data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3
Questa volta possiamo importare il file CSV senza alcun preavviso.
Il vantaggio di questo approccio è che non è necessario modificare direttamente il file.
Lo svantaggio di questo approccio è che se ci sono avvisi più seri di cui dobbiamo essere consapevoli quando importiamo il file, non saremo in grado di vederli.
Metodo 2: come evitare l’avviso
Un altro modo per evitare questo avviso è modificare direttamente il file CSV.
Concretamente possiamo andare all’ultima riga del file e premere Invio per creare una nuova riga vuota alla fine del file:
Ora quando importiamo il file CSV non riceviamo alcun avviso:
#import CSV file
df <- read. csv (' my_data.csv ')
#view data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3
Il vantaggio di questo approccio è che potremo comunque vedere altri avvisi durante l’importazione del file.
Lo svantaggio di questo approccio è che dobbiamo modificare il file direttamente anziché utilizzare semplicemente una soluzione programmatica.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come utilizzare la funzione readLines() in R
Come importare file CSV in R
Come utilizzare read.table in R