Читання лише двох з трьох стовпців з read.csv


12

У мене є набір даних ascii, який складається з трьох стовпців, але лише два останні є фактичними даними. Тепер я хочу створити точку діаграм даних за допомогою read.csv(file = "result1", sep= " "). R читає всі три колонки. Як я цього уникаю?


5
Я залишу його тут, але будь ласка, задайте майбутні основні питання R на StackOverflow .

Насправді, схоже, існує нинішній консенсус, що питання реферату зараз вітаються в резюме. Зараз я не можу знайти дискусію, але це десь у мета.stats.stackexchange.com .
Вальдір Леонсіо

Відповіді:


20

Ви можете використовувати colClassesаргумент read.csvдля вибору потрібних стовпців. У цьому випадку, ви можете встановити colClassesвc("NULL", NA, NA)

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

Більш загально, ви можете використовувати colClasses для визначення конкретних типів стовпців; NAозначає використовувати підхід за замовчуванням, який полягає в тому, щоб спробувати зрозуміти, що таке стовпець автоматично. Докладнішу інформацію див. На сторінці довідки read.csv.


11

Інший варіант - читати у всьому файлі, але зберігати лише два стовпці, наприклад:

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

або, використовуючи назви стовпців, наприклад. якщо стовпці названі "col1, col2, col3"

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

Відповідь @Brian займає менше часу порівняно з вашою.
Харун Рашид

0

Цей час займає менше часу порівняно з наданими відповідями

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.