Comment réparer dans R : dernière ligne incomplète trouvée par readTableHeader
Un avertissement que vous pouvez rencontrer dans R est :
Warning message: In read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'my_data.csv'
Cet avertissement se produit lorsque vous tentez de lire un fichier CSV dans R mais que la dernière ligne du fichier n’est pas vide.
Il est important de noter qu’il ne s’agit que d’un message d’avertissement et non d’une erreur. Même lorsque ce message apparaît, votre fichier sera toujours importé dans R.
Ce didacticiel explique comment éviter complètement cet avertissement.
Comment reproduire l’avertissement
Supposons que j’ai le fichier CSV suivant appelé my_data.csv que je souhaite importer dans R :
Supposons maintenant que j’essaie d’utiliser le code suivant pour importer ce fichier CSV dans 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'
Je reçois un message d’avertissement car la dernière ligne du fichier CSV n’est pas vide.
Cependant, le fichier a quand même été importé avec succès :
#view imported data frame
df
team points assists
1 A 20 5
2 B 15 3
3 C 19 9
4 D 20 3.
Méthode 1 : Comment éviter l’avertissement
Une façon d’éviter cet avertissement consiste simplement à placer la fonction read.csv() dans une fonction suppressWarnings() :
#import CSV file and suppress any warnings
df <- suppressWarnings(read.csv('my_data.csv'))
#view data frame
df
team points assists
1 A 20 5
2 B 15 3
3 C 19 9
4 D 20 3
Cette fois, nous pouvons importer le fichier CSV sans aucun avertissement.
L’avantage de cette approche est que nous n’avons pas besoin de modifier directement le fichier.
L’inconvénient de cette approche est que s’il y a des avertissements plus sérieux dont nous devons être informés lors de l’importation du fichier, nous ne pourrons pas les voir.
Méthode 2 : Comment éviter l’avertissement
Une autre façon d’éviter cet avertissement consiste à modifier directement le fichier CSV.
Concrètement, nous pouvons aller à la dernière ligne du fichier et appuyer sur Entrée pour créer une nouvelle ligne vide à la fin du fichier :
Désormais, lorsque nous importons le fichier CSV, nous ne recevons aucun avertissement :
#import CSV file
df <- read.csv('my_data.csv')
#view data frame
df
team points assists
1 A 20 5
2 B 15 3
3 C 19 9
4 D 20 3
L’avantage de cette approche est que nous pourrons toujours voir d’autres avertissements lors de l’importation du fichier.
L’inconvénient de cette approche est que nous devons modifier le fichier directement plutôt que d’utiliser simplement une solution programmatique.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment utiliser la fonction readLines() dans R
Comment importer des fichiers CSV dans R
Comment utiliser read.table dans R