Tôi có dữ liệu hàng ngày bắt đầu từ năm 1980 trong tệp csv. Nhưng tôi muốn đọc dữ liệu chỉ từ năm 1985. Bởi vì tập dữ liệu khác trong một tệp khác bắt đầu từ năm 1985. Làm thế nào tôi có thể bỏ qua đọc dữ liệu trước năm 1985 bằng ngôn ngữ R?Đọc csv từ hàng cụ thể
Trả lời
Tôi nghĩ bạn muốn xem ?read.csv
để xem tất cả các tùy chọn.
Hơi khó để đưa ra câu trả lời chính xác mà không cần xem mẫu dữ liệu của bạn.
Nếu dữ liệu của bạn không có một tiêu đề và bạn biết rằng những dòng dữ liệu năm 1985 bắt đầu từ ngày, bạn chỉ có thể sử dụng một cái gì đó giống như ...
impordata <- read.csv(file,skip=1825)
... bỏ qua 1825 dòng đầu tiên.
Nếu không, bạn luôn có thể chỉ đặt dữ liệu sau khi đã nhập nếu bạn có biến năm trong dữ liệu của mình.
impordata <- read.csv("skiplines.csv")
impordata <- subset(impordata,year>=1985)
Nếu bạn không biết nơi dữ liệu năm 1985 bắt đầu, bạn có thể sử dụng grep để tìm trường hợp đầu tiên năm 1985 trong biến ngày của tập tin của bạn và sau đó chỉ giữ từ dòng đó trở đi:
impordata <- read.csv("skiplines.csv")
impordata <- impordata[min(grep(1985,impordata$date)):nrow(impordata),]
Dưới đây là một vài lựa chọn thay thế. (Bạn có thể muốn chuyển đổi cột đầu tiên "Date"
lớp sau đó và có thể chuyển đổi toàn bộ điều đến một đối tượng sở thú hoặc đối tượng chuỗi thời gian lớp khác.)
# create test data
fn <- tempfile()
dd <- seq(as.Date("1980-01-01"), as.Date("1989-12-31"), by = "day")
DF <- data.frame(Date = dd, Value = seq_along(dd))
write.table(DF, file = fn, row.names = FALSE)
read.table + tập hợp con
# if file is small enough to fit in memory try this:
DF2 <- read.table(fn, header = TRUE, as.is = TRUE)
DF2 <- subset(DF2, Date >= "1985-01-01")
read.zoo
# or this which produces a zoo object and also automatically converts the
# Date column to Date class. Note that all columns other than the Date column
# should be numeric for it to be representable as a zoo object.
library(zoo)
z <- read.zoo(fn, header = TRUE)
zw <- window(z, start = "1985-01-01")
Nếu dữ liệu của bạn không nằm trong s định dạng ame làm ví dụ bạn sẽ cần sử dụng các đối số bổ sung cho read.zoo
.
nhiều read.table của
# if the data is very large read 1st row (DF.row1) and 1st column (DF.Date)
# and use those to set col.names= and skip=
DF.row1 <- read.table(fn, header = TRUE, nrow = 1)
nc <- ncol(DF.row1)
DF.Date <- read.table(fn, header = TRUE, as.is = TRUE,
colClasses = c(NA, rep("NULL", nc - 1)))
n1985 <- which.max(DF.Date$Date >= "1985-01-01")
DF3 <- read.table(fn, col.names = names(DF.row1), skip = n1985, as.is = TRUE)
sqldf
# this is probably the easiest if data set is large.
library(sqldf)
DF4 <- read.csv.sql(fn, sql = 'select * from file where Date >= "1985-01-01"')
- 1. Đọc cột cụ thể từ tệp CSV trong MATLAB
- 2. Đọc các cột cụ thể từ tệp csv với mô-đun csv?
- 3. Cách tìm hàng cụ thể trong csv
- 4. Làm thế nào để lặp qua hàng loạt các hàng cụ thể bằng trình đọc csv của Python?
- 5. Ghi đè một hàng cụ thể trong tệp csv bằng mô-đun CSV của Python
- 6. Đọc từ CSV trong Python liên tục?
- 7. Đọc dữ liệu CSV từ một tệp
- 8. Đọc CSV từ bên trong Tệp Zip
- 9. Không thể đọc unicode .csv vào R
- 10. MySQL chỉ nhập một hàng từ CSV
- 11. Đọc các hàng cụ thể, phù hợp với mẫu từ một tệp
- 12. JQgrid: giá trị cụ thể từ hàng đã chọn
- 13. Get mục cụ thể từ danh sách các hàng C#
- 14. python đọc nhị phân từ vị trí cụ thể
- 15. đọc tệp cụ thể từ sdcard trong android
- 16. Đọc một dòng cụ thể từ tệp lớn trong Perl
- 17. Đọc tệp .csv từ xa bằng cách sử dụng opencsv
- 18. Đọc gzipped csv trực tiếp từ url trong R
- 19. Đọc các ký tự unicode từ tệp csv
- 20. Java: Tệp CSV đọc & ghi
- 21. Đọc tệp CSV bằng .NET?
- 22. Đọc tệp .csv trong php
- 23. gấu trúc đọc định hướng csv
- 24. Chọn hàng cụ thể từ các bảng mysql
- 25. Loại bỏ hàng cụ thể từ một dataframe
- 26. Di chuyển hàng cụ thể từ một khung dữ liệu
- 27. Gọi cho khách hàng cụ thể từ SignalR
- 28. Nối hàng vào tệp csv Ruby 1,9 CSV lib
- 29. đọc ExtJS nhắn từ cửa hàng ajax
- 30. Đọc từ nhiều hàng đợi, RabbitMQ
Làm thế nào bạn sẽ vượt qua nhiều đối số cho Ngày? Tức là, nếu bạn muốn trả về tất cả các hàng trong đó Date = "2007-01-01" OR "2007-01-02". – Zach
'tập con (DF2, Ngày ==" 2007-01-01 "| Ngày ==" 2007-01-02 ")' –
Xin lỗi tôi là một phần của hàm read.csv.sql – Zach