Преобразование гггг цифры c в формат даты в R - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть набор данных, df со столбцом, содержащим даты в формате гггг (например, 2018). Я пытаюсь сделать график временных рядов, и поэтому необходимо преобразовать их в формат даты.

Сначала я попытался, df$year <- as.Date(df$year), но мне сказали, что мне нужно указать источник.

Затем я попытался преобразовать в символ, а затем в формат даты: df$year <- as.character(df$year) df$year <- as.Date(df$year, format = “%Y”)

Это, похоже, сработало, однако, когда оно изменило все годы на формат гггг-мм-дд и установите месяц и день на 5 апреля, сегодня. Например 2018 становится 2018-04-05.

У кого-нибудь есть идеи, как это исправить? Я хотел бы, чтобы это началось 1 января, а не в день, когда я выполняю конверсию. Я также пытался strptime(as.character(beer_states$year), “%Y”) с тем же результатом.

Любая помощь будет принята с благодарностью. Спасибо!

Ответы [ 2 ]

3 голосов
/ 05 апреля 2020

Добавьте произвольную дату и месяц перед преобразованием в дату.

df$Date <- as.Date(paste(df$year, 1, 1), '%Y %m %d')
0 голосов
/ 05 апреля 2020

Мы можем использовать as.yearmon

library(zoo)
df$Date <- as.Date(as.yearmon(df$year, '-01'), '%Y-%m')) 
...