假设我在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
编辑:只是为了展示另一种方式……
POSIXlt对象的wday组件是数字工作日(从星期天开始是0-6)。
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"