根据R中的日期添加季节因子

根据R中的日期添加季节因子,r,R,如何根据R中的日期添加季节作为因子?我有一个4年的表,我必须添加一个列“季节”,它将查看日期的月份和日期,并决定是哪个季节。无论年份如何,我都会为每个季节选择一些固定日期。我建议季度()来自润滑油套餐: library(lubridate) dates <- structure(c(15238, 15730, 15362, 15478, 15764, 15635, 15372, 15768, 15243, 15377), class = "Dat

如何根据R中的日期添加季节作为因子?我有一个4年的表,我必须添加一个列“季节”,它将查看日期的月份和日期,并决定是哪个季节。无论年份如何,我都会为每个季节选择一些固定日期。

我建议
季度()
来自
润滑油
套餐:

library(lubridate)
dates <- structure(c(15238, 15730, 15362, 15478, 15764, 15635, 15372, 
                     15768, 15243, 15377), class = "Date") # example data
dates
# > dates
# [1] "2011-09-21" "2013-01-25" "2012-01-23" "2012-05-18" "2013-02-28" "2012-10-22" "2012-02-02"
# [8] "2013-03-04" "2011-09-26" "2012-02-07"
dates <- as.data.frame(dates)
dates$q <- quarter(dates$dates)
# dates q
# 1  2011-09-21 3
# 2  2013-01-25 1
# 3  2012-01-23 1
# 4  2012-05-18 2
# 5  2013-02-28 1
# 6  2012-10-22 4
# 7  2012-02-02 1
# 8  2013-03-04 1
# 9  2011-09-26 3
# 10 2012-02-07 1
dates$season <- NA # If you really want seasons (string) proceed...
dates <- within(dates, {season[q == 1] <- "spr"
                        season[q == 2] <- "sum"
                        season[q == 3] <- "fall"
                        season[q == 4] <- "win"})
# dates q season
# 1  2011-09-21 3   fall
# 2  2013-01-25 1    spr
# 3  2012-01-23 1    spr
# 4  2012-05-18 2    sum
# 5  2013-02-28 1    spr
# 6  2012-10-22 4    win
# 7  2012-02-02 1    spr
# 8  2013-03-04 1    spr
# 9  2011-09-26 3   fall
# 10 2012-02-07 1    spr
库(lubridate)
日期
# [1] "2011-09-21" "2013-01-25" "2012-01-23" "2012-05-18" "2013-02-28" "2012-10-22" "2012-02-02"
# [8] "2013-03-04" "2011-09-26" "2012-02-07"

你能提供你的样本数据吗?这很简单,但精确的解决方案将取决于数据的外观。也许可以给我们输出
dput(head(df))
,其中
df
是您的数据帧。@user2563925如果这解决了您的问题,请告诉我。