r:创建自定义的“周”功能

时间:2018-11-20 22:36:01

标签: r tidyverse lubridate

我正在编写一个函数,它将使用我的df$date字段(每天POSIXct日期(按天),并创建一个名为df$wbm的新变量(wbm =从星期一开始的一周)。我知道数学有效,因为我已经在Excel中完成了此操作,但语法不起作用,请参见下文:

df$wbm<- if (weekdays(df$date) == "Sunday") {
  df$date - days(6)
} else { df$date + (days(2) - df$date)
  }

2 个答案:

答案 0 :(得分:0)

correctCar.color === car.color可能是您要寻找的%w参数:这是星期几,星期天为0

format

答案 1 :(得分:0)

通过几个链接,我发现这里的最后一个答案是最有用的:How to find Previous Sunday in R

这是我使用lubridate想到的:

> df$wbm<- lubridate::floor_date(df$date, "week") + days(1)
> weekdays(df$wbm)[1]
[1] "Monday"