查找星期几
假设我在R中有一个日期,其格式如下.
Let's say that I have a date in R and it's formatted as follows.
date
2012-02-01
2012-02-01
2012-02-02
R中是否可以通过其他方式添加与日期相关的星期几?该数据集确实很大,因此手动进行更改并没有意义.
Is there any way in R to add another column with the day of the week associated with the date? The dataset is really large, so it would not make sense to go through manually and make the changes.
df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02"))
因此,添加天数后,最终结果将如下所示:
So after adding the days, it would end up looking like:
date day
2012-02-01 Wednesday
2012-02-01 Wednesday
2012-02-02 Thursday
这可能吗?谁能指出我要允许我这样做的包装? 只是尝试按日期自动生成日期.
Is this possible? Can anyone point me to a package that will allow me to do this? Just trying to automatically generate the day by the date.
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
只是为了显示另一种方式...
Just to show another way...
POSIXlt
对象的wday
组件是数字工作日(从星期日开始为0-6).
The wday
component of a POSIXlt
object is the numeric weekday (0-6 starting on Sunday).
as.POSIXlt(df$date)$wday
## [1] 3 3 4
您可以用来对工作日名称的字符向量进行子集
which you could use to subset a character vector of weekday names
c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday")[as.POSIXlt(df$date)$wday + 1]
## [1] "Wednesday" "Wednesday" "Thursday"