Преобразование символа в дату r

Я сталкиваюсь с некоторыми проблемами даты при работе с датами в R.

Вот моя ситуация.

Я работаю над набором данных с датой столбца (ProjectDate), имеющей следующие значения

class(Dataset$ProjectDate)
"character"

head(Dataset$ProjectDate)
"End July 2014" "End August 2014" "End September 2014" "End October 2014"

Я хочу преобразовать его в формат "% M% Y"

Как я могу это сделать ?

Спасибо

связанные: stackoverflow.com/questions/33572818/…

jogo 11.04.2018 11:47
1
2
935
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы должны подумать об использовании двухэтапного процесса. Сначала удалите часть End из ProjectDate, используя sub.

Теперь вы можете применить yearmon из библиотеки zoo для преобразования в формат даты month year.

library(zoo)

as.yearmon(sub("^End ", "", df$ProjectDate), "%b %Y")
#[1] "Aug 2014" "Sep 2014"

Попробуйте следующее. Во-первых, данные.

x <- scan(what = character(),
          text = '"End July 2014" "End August 2014"
                  "End September 2014" "End October 2014"')

Теперь перевод на финики. Обратите внимание, что в ваших датах нет дня, поэтому я заменяю "End" на "1" дня.

as.Date(sub("^[[:alpha:]]+", "1", x), "%d %B %Y")
#[1] "2014-07-01" "2014-08-01" "2014-09-01" "2014-10-01"

Спасибо за помощь !

Layale 11.04.2018 13:19

Другие вопросы по теме