Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从“创建工作日向量”;“今天”;75天前在R的约会?_R_Date - Fatal编程技术网

如何从“创建工作日向量”;“今天”;75天前在R的约会?

如何从“创建工作日向量”;“今天”;75天前在R的约会?,r,date,R,Date,我想创建一个向量,从最近的工作日开始,运行75天到75个工作日之前的工作日-我怎么做?假设我可以使用seq?我是R的新手 如果今天是星期日(如2016年8月21日),则序列应在前一个星期五(2016年8月19日)开始,并返回到2016年5月9日的工作日。与Excel函数=WORKDAY(A1,-1)非常相似。我们可以创建一个天数序列,拒绝任何周末(注意-这将取决于您的区域设置),然后将输出缩减到75天 s1 <- seq(Sys.Date()-120, Sys.Date(), by = "

我想创建一个向量,从最近的工作日开始,运行75天到75个工作日之前的工作日-我怎么做?假设我可以使用seq?我是R的新手


如果今天是星期日(如2016年8月21日),则序列应在前一个星期五(2016年8月19日)开始,并返回到2016年5月9日的工作日。与Excel函数=WORKDAY(A1,-1)非常相似。

我们可以创建一个天数序列,拒绝任何周末(注意-这将取决于您的区域设置),然后将输出缩减到75天

s1 <- seq(Sys.Date()-120, Sys.Date(), by = "day")
s1 <- s1[!weekdays(s1) %in% c("Saturday", "Sunday")] 
s1[(length(s1)-74):length(s1)]

s1我们可以设置一个天数序列,拒绝任何周末(注意-这将取决于您所在的地区),然后将输出缩减到75天

s1 <- seq(Sys.Date()-120, Sys.Date(), by = "day")
s1 <- s1[!weekdays(s1) %in% c("Saturday", "Sunday")] 
s1[(length(s1)-74):length(s1)]

s1由于75天不是一个大数字,可能是这样的:

library(chron)
library(lubridate)
n = 75
Filter(function(x) !is.weekend(x), seq.Date(today(), by = '-1 day', length.out = (n+2)*7/5))[1:n]

 # [1] "2016-08-19" "2016-08-18" "2016-08-17" "2016-08-16"
 # [5] "2016-08-15" "2016-08-12" "2016-08-11" "2016-08-10"
 # ...

因为75天不是一个很大的数字,可能是这样的:

library(chron)
library(lubridate)
n = 75
Filter(function(x) !is.weekend(x), seq.Date(today(), by = '-1 day', length.out = (n+2)*7/5))[1:n]

 # [1] "2016-08-19" "2016-08-18" "2016-08-17" "2016-08-16"
 # [5] "2016-08-15" "2016-08-12" "2016-08-11" "2016-08-10"
 # ...

似乎落选的选民可以提供更好的答案。我很好奇,也很想看看。他们不喜欢我的回答either@RichardTelford他正试图为这个问题编写一个流或生成器,我们将拭目以待。整洁的解决方案,但在安装chron包并运行代码后,我返回:seq.Date(today(),by=“-1天”,length.out=(n+2)*7/5)中的错误:找不到“今天”功能抱歉。我忘了附上
lubridate
软件包,而
today()
就是从这里来的。看来投票人可以提供更好的答案。我很好奇,很想看到,他们不喜欢我的回答either@RichardTelford他正试图为这个问题编写一个流或生成器,我们将拭目以待。整洁的解决方案,但在安装chron包并运行代码后,我返回:seq.Date(today(),by=“-1天”,length.out=(n+2)*7/5)中的错误:找不到“今天”功能抱歉。我忘了附上
lubridate
包,其中
today()
是从哪里来的。如何将其反转,因此最新日期是序列中的第一个日期?尝试在rev()函数中包装第2行,但这导致输出不正确。请参阅编辑的版本。如何反转此操作,以便最新日期是序列中的第一个日期?尝试在rev()函数中包装第2行,但这导致输出错误。请参阅编辑的版本。