【发布时间】:2013-09-01 19:33:35
【问题描述】:
我有以下例子:
Date1 <- seq(from = as.POSIXct("2010-05-01 02:00"),
to = as.POSIXct("2010-10-10 22:00"), by = 3600)
Dat <- data.frame(DateTime = Date1,
t = rnorm(length(Date1)))
我想找出某一天的数值范围(即最大值 - 最小值)。
首先,我定义了额外的列,这些列根据日期和一年中的某一天 (doy) 来定义独特的日子。
Dat$date <- format(Dat$DateTime, format = "%Y-%m-%d") # find the unique days
Dat$doy <- as.numeric(format(Dat$DateTime, format="%j")) # find the unique days
然后找到我尝试过的范围
by(Dat$t, Dat$doy, function(x) range(x))
但这会将范围作为两个值而不是单个值返回,所以,我的问题是,我如何找到每天的计算范围并将它们返回到具有的 data.frame 中
new_data <- data.frame(date = unique(Dat$date),
range = ...)
谁能推荐一种方法来做到这一点?
【问题讨论】: