我有一个数据框可以参加体育赛事
Crowd matchDate
2345 1993-01-26
4567 1993-08-01
8888 1994-03-02
1298 1994-11-07
9876 1995-09-01 etc
1237 2011-09-09
matchdate是一个POSIXct类
我希望能够根据日期创建季节因素,例如每个季节从8月1日到7月31日,例如因子1992/3将包括日期1992-08-01至1993-07-31
理想情况下,我可以申请多项分析,而不一定在一年中有相同的开始和结束日期
答案 0 :(得分:12)
我的评论的一个例子。
x <- as.Date(1:1000, origin = "2000-01-01")
x <- cut(x, breaks = "quarter")
如有必要,请随意重新标记。
labs <- paste(substr(levels(x),1,4), "/", 1:4, sep="")
x <- factor(x, labels = labs)
?cut.POSIXct
<强>符强>
切割点或数字的矢量,给出要切入的间隔的数量或间隔规格,1 “sec”,“min”,“hour”,“day”,“DSTday”,“week”,“month”,“quarter” 或“年”,可选地以整数和空格开头,或者后跟 用“s”。 (对于“日期”对象,仅使用“日期”的间隔规范, 允许“周”,“月”,“季度”和“年”。)
答案 1 :(得分:10)
如果您的问题与自动生成中断和标签的方式有关,可能会有所帮助
DF <- data.frame(matchDate = as.POSIXct(as.Date(sample(5000,100,replace=TRUE), origin="1993-01-01")))
years <- 1992:2011
DF$season <- cut(DF$matchDate,
breaks=as.POSIXct(paste(years,"-08-01",sep="")),
labels=paste(years[-length(years)],years[-length(years)]+1,sep="/"))