从R中的timeDate获得借出
我想从2010年到2020年的所有借出的星期五。我目前正在使用从R中的timeDate获得借出,r,datetime,time,lubridate,R,Datetime,Time,Lubridate,我想从2010年到2020年的所有借出的星期五。我目前正在使用timeDate来获得复活节、耶稣受难节和圣灰星期三等假期。如下 aw <- as.Date(AshWednesday(year = 2010:2020)) gf <- as.Date(GoodFriday(year = 2010:2020)) 我把days(4)改为days(0),因为我认为四旬斋的星期五实际上是在灰烬星期三之后立即开始的,而不是跳过一周。我从维基百科的“安布罗西仪式”中找到了上面的注释。我想这是有区别
timeDate
来获得复活节、耶稣受难节和圣灰星期三等假期。如下
aw <- as.Date(AshWednesday(year = 2010:2020))
gf <- as.Date(GoodFriday(year = 2010:2020))
我把
days(4)
改为days(0)
,因为我认为四旬斋的星期五实际上是在灰烬星期三之后立即开始的,而不是跳过一周。我从维基百科的“安布罗西仪式”中找到了上面的注释。我想这是有区别的。如果四旬斋开始于灰烬星期三之后的星期日,那么随后的所有星期五都是灰烬星期三之后的9、16、…、44天。您可以使用lubridate中的days
或ddays
函数为各个日期添加持续时间。由于您有一个日期向量,我们可以将四旬斋星期五存储在列表中
library(lubridate)
lent_fridays <- lapply(aw, function(x) x + days(seq(9, 44, by =7)))
如果四旬斋开始于火山灰星期三之后的星期日,那么所有随后的星期五都是火山灰星期三之后的9、16、…、44天。您可以使用lubridate中的
days
或ddays
函数为各个日期添加持续时间。由于您有一个日期向量,我们可以将四旬斋星期五存储在列表中
library(lubridate)
lent_fridays <- lapply(aw, function(x) x + days(seq(9, 44, by =7)))
这里有一种方法:
library(dplyr)
library(purrr)
library(tidyr)
library(lubridate)
tibble(aw) %>%
mutate(aw_sunday = aw + lubridate::days(4)) %>% #Find the first Sunday after each Ash Wednesday
mutate(extra_days = map(aw_sunday, function(x) x + lubridate::days(1:40))) %>% #Find all series of 40 days after each sunday
unnest %>%
mutate(week_day = lubridate::wday(extra_days, label = TRUE)) %>% #Find all the day names
filter(week_day == 'Fri') %>% # Filter out the fridays
pull(extra_days)
这里有一种方法:
library(dplyr)
library(purrr)
library(tidyr)
library(lubridate)
tibble(aw) %>%
mutate(aw_sunday = aw + lubridate::days(4)) %>% #Find the first Sunday after each Ash Wednesday
mutate(extra_days = map(aw_sunday, function(x) x + lubridate::days(1:40))) %>% #Find all series of 40 days after each sunday
unnest %>%
mutate(week_day = lubridate::wday(extra_days, label = TRUE)) %>% #Find all the day names
filter(week_day == 'Fri') %>% # Filter out the fridays
pull(extra_days)
如果您不想使用lubridate,可以使用base seq.Date函数:
gf <- as.Date(GoodFriday(year = 2010:2020))
lentFridays <- lapply(gf, function(x)seq.Date(x, length.out = 6, by = "-7 days"))
gf如果不想使用lubridate,可以使用base seq.Date函数:
gf <- as.Date(GoodFriday(year = 2010:2020))
lentFridays <- lapply(gf, function(x)seq.Date(x, length.out = 6, by = "-7 days"))
gf作为旁白,为什么灰烬星期三之后的第一个星期五不算作借出的星期五?我不是基督徒,但我想它也包括在内……我不确定。从…起“在安布罗西仪式中,四旬斋开始于周日,在拉丁天主教堂的其他地方庆祝的是圣灰星期三,结束于罗马仪式,因此有40天,算上周日,但不算神圣星期四。”有一个很好的变化,我错了。也许它会在灰烬星期三之后的第一个星期五开始,但我可以纠正这一点。顺便说一句,为什么灰烬星期三之后的第一个星期五不算作四旬斋星期五?我不是基督徒,但我想它也包括在内……我不确定。从…起“在安布罗西仪式中,四旬斋开始于周日,在拉丁天主教堂的其他地方庆祝的是圣灰星期三,结束于罗马仪式,因此有40天,算上周日,但不算神圣星期四。”有一个很好的变化,我错了。也许它会在火山灰星期三之后的第一个星期五开始,但我可以纠正这一点。
lentFridays <- data.frame(lentFridays)
names(lentFridays) <- paste0("Year", 2010:2020)