วิธีอ่านจากไฟล์ R a .txt โดยมีสองบรรทัดสำหรับแต่ละกรณี ตัวอย่างเช่นไฟล์เช่น [ http://www.amstat.org/publications/jse/datasets/93cars.dat.txt ] โปรดช่วยด้วย ซีแอล
อ่านไฟล์ txt โดยมีสองบรรทัดสำหรับแต่ละกรณี ด้วย R [ซ้ำกัน]
คำตอบ (2)
ฉันคิดว่านี่เป็นวิธีที่ง่ายที่สุดที่ฉันคิดได้ และคุณควรทราบว่าลิงก์ URL ของคุณในคำถามมีวงเล็บเหลี่ยมด้วย ซึ่งอาจทำให้ผู้ใช้ช้าลง
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)
person
Forrest R. Stevens
schedule
09.05.2015
สวัสดีฟอเรสต์ ฉันขอขอบคุณสำหรับความช่วยเหลือของคุณ ขออภัยเกี่ยวกับ ]
- person user2203706; 14.05.2015
มีวิธีอื่นอีกมากมายในการทำเช่นนี้ และแน่นอนว่าคำถามนี้ซ้ำกับคำถาม ที่นี่ (คำถามเดียวกัน ข้อมูลเดียวกัน) ซึ่งมีคำตอบโดยใช้ read.fwf
ซึ่งคุณต้องทราบความกว้างคงที่ของแต่ละฟิลด์ สิ่งนี้สามารถดำเนินการได้โดยอัตโนมัติแต่อาจยุ่งยาก
วิธีที่ปรับขนาดได้มากที่สุด อย่างน้อยบนเครื่อง POSIX คือการใช้เครื่องมือบรรทัดคำสั่ง เช่น awk
เพื่อดำเนินการประมวลผลล่วงหน้าอย่างมีประสิทธิภาพและรวดเร็วสำหรับคุณ นี่คือตัวอย่างการใช้ awk
ที่อ่านไฟล์เป็นสองส่วน (แถวสลับ) และ cbind
s รวมกัน
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))
person
tchakravarty
schedule
09.05.2015