Question

J'ai du mal à faire en sorte que R lise un fichier .txt ou .csv contenant des apostrophes.

Certaines de mes colonnes contiennent du texte descriptif, tel que « Répond aux besoins des clients » ou « Adjoint du shérif ».Mon fichier s'ouvre correctement dans Excel (c'est-à-dire que toutes les données apparaissent dans les bonnes cellules ;il y a 3 colonnes et environ 8 000 lignes, et il n'y a aucune donnée manquante).Mais lorsque je demande à R de lire le fichier, voici ce qui se passe :

data <-read.table("datafile.csv", sep=",", header=TRUE)
  Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 520 did not have 3 elements

(La ligne 520 est la première ligne contenant une apostrophe.)

Si je vais dans le fichier .txt ou .csv et supprime manuellement toutes les apostrophes, alors R lit le fichier correctement.Cependant, je préfère conserver les apostrophes si je le peux.

Je suis nouveau sur R et je serais reconnaissant pour toute aide.

Était-ce utile?

La solution

Par défaut, read.table considère les guillemets simples et doubles comme des caractères guillemets.Vous devez ajouter quote="\"" à ton read.table appel.Ou vous pouvez simplement utiliser read.csv, qui ne voit par défaut que les guillemets doubles comme des caractères guillemets.

Autres conseils

Une étude approfondie des options de ?read.table sera payante à long terme.Les valeurs par défaut pour les guillemets sont quote = "\"'", qui ne représente en réalité que deux caractères après que R ait analysé cette expression, guillemets simples et doubles.Vous pouvez les supprimer tous les deux en utilisant quotes=NA.Il est parfois nécessaire de supprimer également le « comment.char » par défaut « # », et il peut être utile de remplacer « tel quel » par TRUE pour empêcher les chaînes d'être converties en facteurs.

Réglage du paramètre citation="\\" en lecture.table doit faire le tour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top