read.csv vs. read.table
J'ai vu, dans plusieurs cas, tandis que read.table()
n'est pas capable de lire un fichier délimité par des tabulations (par exemple l'annotation de la table d'une puce à adn) renvoi l'erreur suivante:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line xxx did not have yyy elements
read.csv()
fonctionne parfaitement sur le même fichier sans erreur. Je pense aussi à la vitesse de la read.csv()
est également plus élevé que read.table()
.
Même plus: read.table()
fait très fou la lecture d'un fichier de moi. Il fait cette erreur lors de la lecture de la ligne 100, mais quand je fais un copier-coller des lignes de 90 à 110 juste après la tête d'un même fichier, il fait encore des erreurs de la ligne 100+21 (les nouvelles lignes copiées au début). Si il ya un problème avec cette ligne, pourquoi ne pas signaler cette erreur lors de la lecture de l'collé à la ligne au début? Je confirme que read.csv()
lit le même fichier sans erreur.
Avez-vous une idée de pourquoi read.table()
est incapable de lire les mêmes fichiers que read.csv()
fonctionne sur elle? Aussi est-il une raison pour utiliser read.table()
dans tous les cas?
source d'informationauteur Ali
Vous devez vous connecter pour publier un commentaire.
read.csv
est assez mince wrapper autour deread.table
; je serais très surpris si vous ne pouvez pas reproduire le comportement deread.csv
en fournissant les bons arguments pourread.table
. Cependant, certains de ces arguments (comme la façon que les guillemets ou un commentaire caractères sont traités) pourrait bien changer la vitesse et le comportement de la fonction.En particulier, c'est le plein définition de
read.csv
:donc comme l'a dit il est juste
read.table
avec un ensemble particulier d'options.@Chase états dans les commentaires ci-dessous, la page d'aide pour
read.table()
dit tout autant sousDetails
:Ne pas utiliser
read.table
de lire des fichiers délimités par des tabulations, utilisezread.delim
. (C'est juste un wrapper mince autour deread.table
mais il définit les options aux valeurs appropriées)read_table()
n'échouent parfois sur l'ongletsep
'ed fichier et réglagesep='\s+'
peut aider en supposant élément dans votre tableau n'ont pas de place