Como corrigir em r: última linha incompleta encontrada por readtableheader
Um aviso que você pode encontrar em R é:
Warning message: In read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'my_data.csv'
Este aviso ocorre quando você tenta ler um arquivo CSV em R, mas a última linha do arquivo não está vazia.
É importante observar que esta é apenas uma mensagem de aviso e não um erro. Mesmo quando esta mensagem aparecer, seu arquivo ainda será importado para R.
Este tutorial explica como evitar esse aviso completamente.
Como reproduzir o aviso
Digamos que eu tenha o seguinte arquivo CSV chamado my_data.csv que desejo importar para R:
Agora suponha que eu tente usar o seguinte código para importar este arquivo CSV para 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'
Recebo uma mensagem de aviso porque a última linha do arquivo CSV não está vazia.
No entanto, o arquivo ainda foi importado com sucesso:
#view imported data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3.
Método 1: Como evitar o aviso
Uma maneira de evitar esse aviso é simplesmente colocar a função read.csv() dentro de uma função suprimirWarnings() :
#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
Desta vez podemos importar o arquivo CSV sem qualquer aviso.
A vantagem desta abordagem é que não precisamos modificar o arquivo diretamente.
A desvantagem dessa abordagem é que se houver avisos mais sérios dos quais precisamos estar atentos ao importar o arquivo, não poderemos vê-los.
Método 2: Como evitar o aviso
Outra forma de evitar esse aviso é editar o arquivo CSV diretamente.
Concretamente, podemos ir para a última linha do arquivo e pressionar Enter para criar uma nova linha vazia no final do arquivo:
Agora, quando importamos o arquivo CSV, não recebemos nenhum aviso:
#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
A vantagem desta abordagem é que ainda poderemos ver outros avisos ao importar o arquivo.
A desvantagem dessa abordagem é que precisamos modificar o arquivo diretamente, em vez de apenas usar uma solução programática.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em R:
Como usar a função readLines() em R
Como importar arquivos CSV para R
Como usar read.table em R