Mit read.csv nur zwei von drei Spalten lesen


12

Ich habe einen ASCII-Datensatz, der aus drei Spalten besteht, aber nur die letzten beiden sind tatsächliche Daten. Jetzt möchte ich ein Punktdiagramm der Daten mit erstellen read.csv(file = "result1", sep= " "). R liest alle drei Spalten. Wie vermeide ich das?


5
Ich lasse es hier, aber bitte stellen Sie zukünftige grundlegende R-Fragen zu StackOverflow .

Tatsächlich scheint der derzeitige Konsens darin zu bestehen, dass R-Fragen jetzt im Lebenslauf willkommen sind. Ich kann die Diskussion derzeit nicht finden, sie befindet sich jedoch irgendwo auf meta.stats.stackexchange.com .
Waldir Leoncio

Antworten:


20

Mit dem colClassesArgument read.csvkönnen Sie die gewünschten Spalten auswählen. In diesem Fall können Sie einstellen colClassesaufc("NULL", NA, NA)

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

Im Allgemeinen können Sie colClasses verwenden, um die bestimmten Spaltentypen anzugeben. NAbedeutet, den Standardansatz zu verwenden, bei dem versucht wird, herauszufinden, was die Spalte automatisch ist. Finden Sie in der Hilfeseite read.csvfür weitere Details.


11

Eine andere Möglichkeit besteht darin, die gesamte Datei einzulesen, aber nur zwei der Spalten beizubehalten, z.

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

oder unter Verwendung von Spaltennamen, z. wenn die Spalten 'col1, col2, col3' heißen

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

Answer by @Brian nimmt weniger Zeit in Anspruch als deins.
Haroon Rashid

0

Dieser Vorgang nimmt weniger Zeit in Anspruch als die angegebenen Antworten

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.