查找星期几

查找星期几

问题描述:

假设我在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"