R语言中给日期序列追加日期生成完整日期向量的实现方法
解决方案
你现有代码仅计算了末尾日期加指定天数的单个结果,没有生成中间连续日期,也没有和原有日期向量拼接,按以下两种方案均可实现需求:
方案1:适配lubridate依赖(和你当前使用的函数兼容)
# 加载lubridate包 library(lubridate) # 1. 先将原始字符向量转为Date类型 fechas <- c("2017-01-03", "2017-01-04", "2017-01-05") fechas_date <- as.Date(fechas) # 2. 定义需要追加的天数 add_n <- 2 # 3. 生成待追加的连续日期序列 append_dates <- tail(fechas_date, 1) + days(1:add_n) # 4. 拼接得到完整日期向量 full_fechas <- c(fechas_date, append_dates) # 输出结果 full_fechas
运行输出:
[1] "2017-01-03" "2017-01-04" "2017-01-05" "2017-01-06" "2017-01-07"
方案2:基础R实现(无需安装第三方包)
fechas <- c("2017-01-03", "2017-01-04", "2017-01-05") fechas_date <- as.Date(fechas) add_n <- 2 # 直接生成从最早日期到末尾+add_n天的完整连续序列 full_fechas <- seq.Date(from = min(fechas_date), to = max(fechas_date) + add_n, by = "day") full_fechas
注意:优先将日期类字符显式转换为Date类型再做运算,可避免各类格式匹配错误
内容的提问来源于stack exchange,提问作者Jorge Hernández
相关产品推荐
相关产品推荐

