2016-05-06 2 views
-1

Я пытаюсь проанализировать вектор tsl в класс даты.Дата синтаксического анализа символьного вектора («месяц-год»)

tsl <- c("Dec-2011", "Dec-2011", "Dec-2011", "Dec-2011", "Dec-2011", 
"Dec-2011") 

Я прочитал документацию as.Date, и я подумал, что as.Date(tsl, "%b-Y") должен делать эту работу, но он возвращает Nas.

Я также попытался следующие:

as.Date(tsl, "bbb-YYYY") 
as.Date(tsl, "by") 

Затем я попытался с помощью lubridate, но это не сработало:

library(lubridate) 
parse_date_time(tsl, "%b-%y") 

Запуск Sys.getlocale() возвращается:

" LC_COLLATE = English_United Kingdom.1252; LC_CTYPE = English_United Kingdom.1252; LC_MONETARY = English_United Kingdo m.1252; LC_NUMERIC = C; LC_TIME = English_United Kingdom.1252 "

Любые идеи, как их решить?

+1

Объекты «Дата» представляют собой календарные дни как целые числа, а «Дек-2011» неоднозначны – rawr

ответ

1

Если вы можете жить с датами год-месяц-день, вот решение:

as.Date(gsub("^", "01-", tsl), format="%d-%b-%Y") 

я добавил на первый из месяца с помощью gsub.

Смежные вопросы