我知道使用group(2)
包,我可以为每个输入日期生成相应的工作日。我现在正在处理一个包含大量日期条目的大型数据集,我希望为每个日期条目提取工作日。我认为搜索每个日期并找工作日是不可能的。我希望有一个功能,允许我从我的数据框中插入我的日期列,并将产生与框架的每个日期相对应的日期。
我的框架就像
lubridate
我正在尝试生成
uinq_id Product_ID Date_of_order count
1 Aarkios04_2014-09-09 Aarkios04 2014-09-09 10
2 ABEE01_2014-08-18 ABEE01 2014-08-18 1
3 ABEE01_2014-08-19 ABEE01 2014-08-19 0
4 ABEE01_2014-08-20 ABEE01 2014-08-20 0
5 ABEE01_2014-08-21 ABEE01 2014-08-21 0
6 ABEE01_2014-08-22 ABEE01 2014-08-22 0
任何帮助都将非常有益。 谢谢。
答案 0 :(得分:8)
使用基础R中的weekdays
,您可以同时为矢量执行此操作:
temp = data.frame(timestamp = Sys.Date() + 1:20)
> head(temp)
timestamp
1 2016-06-01
2 2016-06-02
3 2016-06-03
4 2016-06-04
5 2016-06-05
6 2016-06-06
temp$weekday = weekdays(temp$timestamp)
> head(temp)
timestamp weekday
1 2016-06-01 Wednesday
2 2016-06-02 Thursday
3 2016-06-03 Friday
4 2016-06-04 Saturday
5 2016-06-05 Sunday
6 2016-06-06 Monday
答案 1 :(得分:4)
我们可以使用format
来获取输出
df1$weekday <- format(as.Date(df1$Date_of_order), "%a")
df1$weekday
#[1] "Tue" "Mon" "Tue" "Wed" "Thu" "Fri"
根据?strptime
%a - 此平台上当前区域设置中的缩写工作日名称。 (也匹配输入的全名:在某些语言环境中没有 名字的缩写。)
答案 2 :(得分:3)
library(lubridate)
date <- as.Date(yourdata$Date_of_order, format = "%Y/%m/%d")
yourdata$WeekDay <- weekdays(date)