J'ai une série de trames de données dans mon environnement R I ai lu comme suit:R: manque de valeur dans la deuxième colonne de la première rangée faisant read.table reconnaître un fichier 2D 1D
x <- list.files(pattern="nuc_occupancy_region");
for(i in seq_along(x)){
print(x[i])
assign(paste(x[i]), read.table(x[i], sep='\t', header=T, fill=T))
}
ESC=ls()[grep(ls(), pattern='ESC_nuc')]
MEF=ls()[grep(ls(), pattern='MEF_nuc')]
La liste des fichiers MEF ont souvent des données manquantes: par exemple.
de la ligne de commande
head MEF_nuc_occupancy_regionCybb9049012-9053217chrX.txt
9049012 26
9049013
9049014 29
9049015
9049016 26
etc.
Le fichier ci-dessus n'est pas un problème car les valeurs manquantes seront lues comme NA de et je peux faire face à plus tard.
Cependant, dans d'autres la deuxième valeur de la première ligne est manquante ....
117755994
117755995
117755996
117755997 6
117755998 6
117755999 6
malgré le fait que chaque fichier a 2 colonnes, l'absence d'une deuxième valeur dans la première rangée de certains d'entre eux les amène à être reconnu comme un fichier avec une seule colonne:
read.table(example.txt, sep='\t', header=T, fill=T)
117755994
117755995
117755996
117755997
6
117755998
6
117755999
6
est-il possible d'éviter ce que je besoin de toutes les trames de données pour être en 2D? Merci
Sons comme un besoin de « goutte = FALSE » –
Peut-être essayer sans spécifier ' sep = '\ t''? Quand j'exécute 'read.table' sur le texte de votre second bloc de code avec' header = FALSE, fill = TRUE' et rien à propos d'un séparateur, j'obtiens le résultat que vous voulez. – ulfelder
Si les fichiers sont tous de la même longueur, regardez read_fwf dans le paquet readr (ou tidyverse) – epi99