Преобразование даты по юлианскому календарю в день по григорианскому календарю в R

У меня есть датафрейм с датами вроде 116032 в юлианском формате. 1YYDDD, где YY — 2 последние цифры года, а DDD — день этого года, первая 1 всегда является фиксированной.

So 116032 is 01-02-2016.

Я хочу преобразовать эти юлианские даты в обычные григорианские даты на R. Я искал библиотеку или что-то в этом роде, но безуспешно.

Заранее спасибо.


person Israel Rodriguez    schedule 21.04.2017    source источник


Ответы (1)


Вы можете использовать базовую функцию R as.Date вместе с правильным форматом.

as.Date("116032", "1%y%j")
[1] "2016-02-01"

Первым аргументом as.Date являются ваши значения (в виде вектора символов). При необходимости вы можете преобразовать этот вектор в символ, используя as.character. Второй, "1%y%j", является форматом каждого элемента вектора. 1 — это выбрасываемый термин для учета вашего первого символа, «%y» читается в следующих двух цифрах как год, а «%j» читается в следующих трех цифрах как количество дней с начала года. начало года.

Чтобы узнать больше о доступных форматах даты (и времени), см. ?strptime.

person lmo    schedule 21.04.2017