Membaca hanya dua dari tiga kolom dengan read.csv


12

Saya memiliki dataset ascii yang terdiri dari tiga kolom, tetapi hanya dua yang terakhir adalah data aktual. Sekarang saya ingin membuat dotchart data dengan menggunakan read.csv(file = "result1", sep= " "). R membaca ketiga kolom. Bagaimana saya menghindari ini?


5
Saya akan meninggalkannya di sini, tapi tolong ajukan pertanyaan dasar R di StackOverflow .

Sebenarnya, konsensus saat ini tampaknya bahwa pertanyaan R sekarang diterima di CV. Saya tidak dapat menemukan diskusi sekarang, tetapi ada di suatu tempat di meta.stats.stackexchange.com .
Waldir Leoncio

Jawaban:


20

Anda dapat menggunakan colClassesargumen read.csvuntuk memilih kolom yang Anda inginkan. Dalam hal ini, Anda dapat mengatur colClasseskec("NULL", NA, NA)

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

Secara umum, Anda dapat menggunakan colClasses untuk menentukan jenis kolom tertentu; NAartinya menggunakan pendekatan default yang mencoba dan mencari tahu apa kolom itu secara otomatis. Lihat halaman bantuan read.csvuntuk lebih jelasnya.


11

Pilihan lain adalah membaca di seluruh file, tetapi hanya menyimpan dua kolom, misalnya:

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

atau, menggunakan nama kolom, mis. jika kolom diberi nama 'col1, col2, col3'

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

Jawaban oleh @Brian membutuhkan waktu lebih sedikit dibandingkan dengan milik Anda.
Haroon Rashid

0

Yang ini membutuhkan waktu lebih sedikit dibandingkan dengan jawaban yang diberikan

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.