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?

Chris
la source
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
stackoverflow.com/questions/5788117/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

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.

Brian Diggs
la source
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')]
David LeBauer
la source
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))
Haroon Rashid
la source