Используя функцию nextfri
, чей однострочный источник показан в виньетке zoo Quick Reference *1003* в пакете zoo , следующая вторая пятница дает d
, где d
это "Date"
первого числа месяца:
> library(zoo)
> d <- as.Date(c("2011-09-01", "2011-10-01"))
> nextfri(d) + 7
[1] "2011-09-09" "2011-10-14"
(nextfri
не входит в пакет зоопарка - вам нужно ввести его самостоятельно - но это только одна строка)
Ниже приводится день недели, когда 0 - воскресенье, 1 - понедельник и т. Д.
> as.POSIXlt(d)$wday
[1] 4 6
Если вы действительно имеете дело исключительно с датами, а не с датами, тогда вам следуетиспользовать класс "Date"
вместо классов "POSIXt"
, чтобы избежать ошибок часового пояса.Смотрите статью в R News 4/1 .