【发布时间】:2018-05-17 15:06:32
【问题描述】:
提前感谢您的宝贵时间。
我在 R 中生成从一个日期到另一个日期的每小时时间序列。这是两个日期:
first_date_year_start <- as.Date("1995-1-1")
date_end <- as.Date("2015-10-31")
然后我使用两种不同的方法来生成序列。第一个是将日期转换为数字并使用 1/24(1 小时)的步长:
julDays_1hstep_simulation_period <- seq(from = 1, to = 23/24 + as.numeric(date_end-first_date_year_start) + 1, by = 1/24 )
这个向量的长度是182616。
第二种方法是将日期的格式改成随时间加一,然后生成序列:
first_date_year_start_with_time <- strptime (paste0(as.character(first_date_year_start), " 00:00") ,format = "%Y-%m-%d %H:%M")
date_end_with_time <- strptime (paste0(as.character(date_end), " 23:00") ,format = "%Y-%m-%d %H:%M")
dates_with_times_simulation_period <- seq(from =first_date_year_start_with_time , to = date_end_with_time , by = "hour")
这个向量的长度是182615。
为什么这些向量的长度相差 1?就像在某个地方多出了一个小时。
奇怪的是,如果我选择一个更接近开始日期的结束日期,例如:
date_end <- as.Date("2015-1-3")
那么这两个向量的长度相同(175392)
有人知道这种奇怪行为的原因吗?
再次感谢!
【问题讨论】: