【发布时间】:2021-04-20 08:54:11
【问题描述】:
我有以下数据
dat <- structure(list(Datetime = structure(c(1261987200, 1261987500,
1261987800, 1261988100, 1261988400), class = c("POSIXct", "POSIXt"
), tzone = ""), Rain = c(0, -999, -999, -999, -999)), row.names = c(NA,
5L), class = "data.frame")
第一列包含日期(年、月、日、小时)。第二列是降雨量。
日期不是连续的。一些缺少 Rainfall 的日期已被删除。
我想问一下按照年、日、月或小时对这些数据进行子集化的最佳方法是什么?
例如,我只想获取 7 月(月份 = 7)的所有数据。我所做的是这样的:
dat$month<-substr(dat$Datetime,6,7)
july<-dat[which(dat$month == 7),]
或者如果是一年,比如 2010 年:
dat$year<-substr(dat$Datetime,1,4)
dat<-which(dat$year == 2010),]
然后将它们转换为数字类型。
在 R 中有更简单的方法吗?日期已使用 POSIXlt 格式化。
我将不胜感激。
林兹
【问题讨论】:
标签: r