我该如何处理“from”必须长度为1的错误?

2024-03-09

我尝试计算特定日期之间的天数。 我有 2 列包含所有字符向量。

start.date <- c("2015-01-10","2015-01-11","2015-02-24")
end.date <- c("2015-03-10","2015-04-01","2015-06-13")
date10 <- data.frame(cbind(start.date,end.date))
date10$start.date <- as.character(date10$start.date)
date10$end.date <- as.character(date10$end.date)
str(date10)

具体日期为2015年4月11日至2015年7月10日。 所以我使用 seq() 制作了特定日期之间的所有日期。sp.da1<-ymd("2015-04-11") sp.da2<-ymd("2015-07-10") inteval.da<-seq(sp.da1, sp.da2, by = 'day')我想知道具体日期之间有多少天。 我尝试像上面一样使用 seq(start.date,end.date,by = 'day') ,但出现此错误: 'from' 的长度必须为 1

请帮我!!!


您询问给定时间间隔有多少天在主时间间隔内。

让我们首先设置三个不同的时间间隔。然后我们编写一个函数来检查每天x无论是在主区间之内还是之外。如果我们总结主要间隔内的天数,我们将得到您正在搜索的内容:

date10$start.date <- as.Date.character(date10$start.date, format="%Y-%m-%d")
date10$end.date   <- as.Date.character(date10$end.date,   format="%Y-%m-%d")

your_intervals <- Map(seq, from = date10[, 1], to = date10[, 2], by = "days")

your_intervals是一个包含三个数据框的列表,每个数据框包含间隔中的每一天。

is_in_interval <- function(x, l_bound = sp.da1, u_bound = sp.da2){
  return (x > l_bound) & (x < u_bound)
}

sapply(your_intervals, function(x) sum(is_in_interval(x)))
# [1] 0 0 63
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我该如何处理“from”必须长度为1的错误? 的相关文章

随机推荐