R:获取上周五的日期

ada*_*888 5 r

我可以得到今天的日期:

Sys.Date( )
Run Code Online (Sandbox Code Playgroud)

但是我怎么得到上周五的约会?我试过了:

library(xts)
date1 <- Sys.Date( ) 
to.weekly(date1 )
Run Code Online (Sandbox Code Playgroud)

但这会产生错误.

谢谢您的帮助

Jas*_*lns 10

我认为这应该有效:

library(lubridate)

Sys.Date() - wday(Sys.Date() + 1)
Run Code Online (Sandbox Code Playgroud)


G. *_*eck 10

试试这个:

library(zoo)
lastfri(Sys.Date())
Run Code Online (Sandbox Code Playgroud)

其中lastfrinextfri动物园插图中的一行函数相同,动物园quickref晕影,除了ceiling替换为floor.请注意,它lastfri是矢量化的,即它可以采用输入日期的向量并生成输出日期的向量.例如,

library(zoo)
Sys.Date()
## 2015-03-10
lastfri(Sys.Date() + 0:6)
## [1] "2015-03-06" "2015-03-06" "2015-03-06" "2015-03-13" "2015-03-13"
## [6] "2015-03-13" "2015-03-13"
Run Code Online (Sandbox Code Playgroud)

因此,上周五是3月6日,我们将一直持续到3月6日,直到当天进入下周五,此时最后一个星期五是3月13日.

旁白:下周五是13日星期五.


jal*_*pic 5

这是一个查找一周中任何一天的最后日期的函数:

getlastdate <- function(day) {
library(lubridate)
dates <- seq((Sys.Date()-7), (Sys.Date()-1), by="days")
dates[wday(dates, label=T)==day]
}

getlastdate("Mon")  

# "2015-03-09"
Run Code Online (Sandbox Code Playgroud)

以缩写格式输入星期几:即

Sun   Mon Tues  Wed   Thurs Fri   Sat   
Run Code Online (Sandbox Code Playgroud)