cara membaca dari R file .txt dengan dua baris untuk setiap kasus. Misalnya file seperti [ http://www.amstat.org/publications/jse/datasets/93cars.dat.txt ] Mohon bantuannya. sel
baca file txt dengan dua baris untuk setiap kasus; dengan R [duplikat]
Jawaban (2)
Saya pikir ini adalah cara paling sederhana yang dapat saya pikirkan. Dan perlu diperhatikan bahwa tautan URL Anda dalam pertanyaan menyertakan tanda kurung siku, yang mungkin memperlambat orang.
u <- url("http://www.amstat.org/publications/jse/datasets/93cars.dat.txt")
d <- readLines(u)
s <- paste(d[seq(1,length(d),2)], d[seq(2,length(d),2)])
data <- read.table(header=F, stringsAsFactors=F, text=s)
Ada banyak cara lain untuk melakukan ini, dan memang pertanyaan ini merupakan duplikat persis dari pertanyaan di sini (pertanyaan yang sama, data yang sama), yang jawabannya menggunakan read.fwf
yang mengharuskan Anda mengetahui lebar tetap setiap bidang. Ini bisa dilakukan secara otomatis tetapi mungkin rumit.
Cara yang paling terukur, setidaknya pada mesin POSIX adalah dengan menggunakan alat baris perintah seperti awk
untuk melakukan pra-pemrosesan secara efisien dan cepat untuk Anda. Berikut adalah contoh penggunaan awk
yang membaca file dalam dua bagian (baris alternatif) dan cbind
s bersama-sama.
download.file("http://www.amstat.org/publications/jse/datasets/93cars.dat.txt",
destfile = "Data/93cars.txt")
firstPart = pipe(description = "awk 'NR%2==0' < Data/93cars.txt")
secondPart = pipe(description = "awk 'NR%2 != 0' < Data/93cars.txt")
dfCars = cbind(read.table(firstPart), read.table(secondPart))