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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *