Я получил много .csv файлов разных размеров. Я выбираю некоторые из них, которые соответствуют условию (те, которые соответствуют моему id
в примере). Они упорядочены по дате и могут быть огромными. Мне нужно знать минимальную и максимальную даты этих файлов.
Я могу прочитать все, что хотел, и только для столбца date.hour
, а затем легко найти минимальное и максимальное значения всех дат.
Но было бы намного быстрее, поскольку я повторяю это для тысячи идентификаторов, если бы я мог читать только первую и последнюю строки моих файлов.
Кто-нибудь получил представление о том, как решить эту проблему?
Этот код работает хорошо, но я хотел бы sh улучшить его.
функция чтения нескольких файлов одновременно
`read.tables.simple <- function(file.names, ...) {require(plyr)
ldply(file.names, function(fn) data.frame(read.table(fn, ...)))}`
чтение файлов и выбор минимальной и максимальной даты для всех тезисов
`diri <- dir()
dat <- read.tables.simple(diri[1], header = TRUE, sep = ";", colClasses = "character")
colclass <- rep("NULL", ncol(dat))
x <- which(colnames(dat) == "date.hour")
colclass[x] <- "character"
x <- grep("id", diri)
dat <- read.tables.simple(diri[x], header = TRUE, sep = ";", colClasses = colclass)
datmin <- min(dat$date.hour)
datmax <- max(dat$date.hour)`