假设我在 R 中有一个日期,其格式如下。
date 2012-02-01 2012-02-01 2012-02-02
R中是否有任何方法可以添加另一列与日期相关的星期几?数据集非常大,因此手动进行更改并没有意义。
df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02"))
所以在添加天数之后,它最终看起来像:
date day 2012-02-01 Wednesday 2012-02-01 Wednesday 2012-02-02 Thursday
这可能吗?谁能指点我一个允许我这样做的包?只是试图按日期自动生成日期。
df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02")) df$day <- weekdays(as.Date(df$date)) df ## date day ## 1 2012-02-01 Wednesday ## 2 2012-02-01 Wednesday ## 3 2012-02-02 Thursday
编辑: 只是为了展示另一种方式......
对象的wday组成部分POSIXlt是数字工作日(从星期日开始的 0-6)。
wday
POSIXlt
as.POSIXlt(df$date)$wday ## [1] 3 3 4
您可以使用它来子集工作日名称的字符向量
c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")[as.POSIXlt(df$date)$wday + 1] ## [1] "Wednesday" "Wednesday" "Thursday"