Беда с ас. - PullRequest
       12

Беда с ас.

0 голосов
/ 09 мая 2018

В настоящее время у меня есть данные даты в следующем формате: DDMMYYYY

Я хочу преобразовать даты в правильную функцию даты (я подозреваю, что мне потребуется для визуализации временных данных), используя следующее:

data$DATE<-as.Date(as.character(data$DATE), "%d%m%Y")

, что было бы хорошо, однако дни с однозначными числами приводят к тому, что я получаю результаты NA, потому что нет 0 передних.

Пример:

17042018  = 2018-05-10
 5022018  = NA

Что такое обходной путь?Должен ли я просто вставить 0 в тех случаях, когда количество символов меньше 8?

Я новичок в R, но если бы вы могли отправить меня в правильном направлении, это было бы очень полезно!

С уважением, G

1 Ответ

0 голосов
/ 09 мая 2018

Дополните строку нулями до длины 8, затем преобразуйте:

a <- '5102017'
a <- sprintf('%08d', as.numeric(a))
as.Date(a, "%d%m%Y")

Или, в вашем примере:

data$DATE <- as.Date(sprintf('%08d', as.numeric(data$DATE)), "%d%m%Y")

Возможно, вам придется преобразовать начальный data$DATE, в зависимости от того, что вы выберете из

...