Перевести «Январь 2008» в переменную даты - PullRequest
3 голосов
/ 17 февраля 2012

Как бы я преобразовал следующие символьные переменные в даты?

strDates <- c("Jan.2008", "Feb.2008")
str(strDates)
chr [1:2] "Jan.2008" "Feb.2008"

dates <- as.Date(strDates, "%b %Y")
str(dates)
Date[1:2], format: NA NA

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

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Чтобы сформировать правильную «дату», вам также необходим день, которого не хватало вашим данным. Итак, мы добавляем один и просто используем произвольный день (здесь: первое число месяца):

R> strDates <- c("Jan.2008", "Feb.2008")
R> strptime(paste("01", strDates), "%d %b.%Y")
[1] "2008-01-01" "2008-02-01"
R> 
1 голос
/ 17 февраля 2012

A Date также требуется элемент дня, так что вы можете добавить его во входную строку с помощью paste:

full.dates <- paste("01", strDates, sep = ".")

Укажите шаблон правильно, включая токены-разделители:

as.Date(full.dates, "%d.%b.%Y")
[1] "2008-01-01" "2008-02-01"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...