Я работаю с набором данных временных рядов, который указывается в юлианских днях с момента происхождения (1-1-1). Я использую функцию chron из пакета chron для преобразования юлианских дней в грегорианскую дату. Однако, чтобы проверить свой результат, помимо тестирования моих результатов в RI я также решил сравнить его с несколькими веб-сайтами (например, http://www.timeanddate.com/date/durationresult.html), который считает количество дней между двумя датами. Ниже приведен воспроизводимый код:
library('chron')
date <- seq(from=729391,to=729756,by=30)
d.year <- 1
d.month <- 1
d.day <- 1
new.date <- chron(date,origin. = c(d.year,d.month,d.day), out.format = 'year-d-m')
Когда я запускаю следующий код, я должен получить 0 для всех элементов, если преобразование было выполнено правильно. На самом деле я получаю 0:
> library('lubridate')
> ymd(as.character(new.date)) - ymd('0001-01-01') - date
Time differences in days
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0
Когда я сравниваю это с веб-сайтами, я получаю разные результаты. Например, для элемента new.date[1]
(то есть 1998-Jan-03
) я использую указанный выше веб-сайт, чтобы подсчитать количество дней между 0001-01-01
и 1998-Jan-03
, и я получаю 729,393
, тогда как я должен получать 729,391
. Я знаю, что веб-сайт включает дату начала в расчет, хотя разница все еще составляет 1
. Спасибо, если бы вы могли пролить свет на это.