R Strptime Год и месяц без указания разделителя NA Я, наверное, делаю что-то глупое и не вижу его, но: > strptime("201101","%Y%m") [1] NA С помощью strptime: % Y Год с веком % m Месяц в виде десятичного числа (01-12) Ответ 1 Просто вставьте поле дня (скажем, "01" ), которое вы игнорируете: R> shortdate <- "201101" R> as.Date(paste(shortdate, "01", sep=""), "%Y%m%d") [1] "2011-01-01" R> Я предпочитаю as.Date() для дат и strptime() для POSIXct объектов, т.е. дат и времени. Затем вы можете преобразовать проанализированный объект Date в объект POSIXlt для извлечения года и месяца: R> mydt <- as.Date(paste(shortdate, "01", sep=""), "%Y%m%d") R> myp <- as.POSIXlt(mydt) R> c(myp$year, myp$mon) [1] 111 0 R> Это стандартное поведение POSIX с годами как "год - 1900" и месяцы с нулевым индексом.
Ответ 1 Просто вставьте поле дня (скажем, "01" ), которое вы игнорируете: R> shortdate <- "201101" R> as.Date(paste(shortdate, "01", sep=""), "%Y%m%d") [1] "2011-01-01" R> Я предпочитаю as.Date() для дат и strptime() для POSIXct объектов, т.е. дат и времени. Затем вы можете преобразовать проанализированный объект Date в объект POSIXlt для извлечения года и месяца: R> mydt <- as.Date(paste(shortdate, "01", sep=""), "%Y%m%d") R> myp <- as.POSIXlt(mydt) R> c(myp$year, myp$mon) [1] 111 0 R> Это стандартное поведение POSIX с годами как "год - 1900" и месяцы с нулевым индексом.