查找一周中的哪一天 [英] Find the day of a week

查看:35
本文介绍了查找一周中的哪一天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

这篇关于查找一周中的哪一天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆