Я импортировал временные ряды с датами в следующем формате:Преобразование локализованного даты формы 12-ОКТ-2007
test = c("11-Feb-01","12-Feb-01","01-Mai-08")
Это дает:
> as.Date(test, "%d-%b-%y")
[1] NA NA "2008-05-01"
С мая был переведен он, очевидно, учитывает локаль.
В соответствии с документами,% b должно быть сокращенным именем месяца, но я думаю, что там может быть какая-то проблема.
Как я могу это исправить?
Я бег R под Linux t2.6.27-9-родовой # 1 SMP
Update: Рытье немного глубже я считаю, что проблема заключается в определении LC_TIME, где соответствующие abbrivations являются формы:
"jan.","feb.","mars", "apr", "mai", "juni", "juli", "aug.","sep.","okt.","nov.", "des."
в то время как мои данные содержат:
"Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"
Я думаю, я мог бы с onsider предварительной обработки данных, но гладкий способ сделать это в R будет наиболее желанным.
Это работает рода-, но не так элегантно:
> as.Date(gsub("Feb","feb.",test), "%d-%b-%y")
[1] "2001-02-11" "2008-02-12" "2008-05-01"
Спасибо!
Я думаю, что вы правы. Вы можете либо изменить определения LC_TIME, либо изменить свои данные. Я большой поклонник не возиться с LC_TIME, если нет другого обходного пути. У вас есть альтернатива домогательству LC_TIME, поэтому я буду использовать его. –