Lecture de seulement deux colonnes sur trois avec read.csv


12

J'ai un ensemble de données ascii qui se compose de trois colonnes, mais seules les deux dernières sont des données réelles. Maintenant, je veux créer un diagramme à points des données en utilisant read.csv(file = "result1", sep= " "). R lit les trois colonnes. Comment éviter cela?


5
Je vais le laisser ici, mais veuillez poser de futures questions de base sur R sur StackOverflow .

En fait, le consensus actuel semble être que les questions R sont désormais les bienvenues dans le CV. Je ne trouve pas la discussion pour le moment, mais elle se trouve quelque part dans meta.stats.stackexchange.com .
Waldir Leoncio

Réponses:


20

Vous pouvez utiliser l' colClassesargument read.csvpour sélectionner les colonnes souhaitées. Dans ce cas, vous pouvez définir colClassesàc("NULL", NA, NA)

read.csv(file="result1", sep=" ", colClasses=c("NULL", NA, NA))

Plus généralement, vous pouvez utiliser colClasses pour spécifier les types particuliers de colonnes; NAsignifie utiliser l'approche par défaut qui consiste à essayer de comprendre ce qu'est la colonne automatiquement. Voir la page d'aide read.csvpour plus de détails.


11

Une autre option consiste à lire dans tout le fichier, mais ne conservez que deux des colonnes, par exemple:

read.csv(file = "result1", sep = " ")[ ,1:2]

ou, en utilisant des noms de colonne, par exemple. si les colonnes sont nommées «col1, col2, col3»

read.csv(file = "result1", sep = " ")[ ,c('col1', 'col2')]

La réponse de @Brian prend moins de temps que la vôtre.
Haroon Rashid

0

Celui-ci prend moins de temps par rapport aux réponses fournies

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.