2015-12-29 3 views
0

Используя R, я пытаюсь преобразовать некоторые даты в порядковый формат даты yyddd (например, 2010-12-31 - 10365), но я не увенчался успехом, так как получил значения, которые неправильно.конвертировать yyyymmdd формат даты в yyddd порядковый номер в R

Настоящий рабочий пример.

dates<-as.data.frame(c("20040101", "20040102", "20040103", 
        "20041229", "20041230", "20041231")) 
cols <- "date" 
colnames(dates) <- cols 

dates$date.format1<- as.Date(as.character(dates$date), "%Y%m%d") 
dates$date.format2<- strptime(dates$date.format1, "%y%j") 

То, что я ожидал, что это 04001, 04002, 04003, 04363, 04364, 04365

Любая помощь будет очень ценна.

С наилучшими пожеланиями,

Хосе

ответ

1

Это будет работать, если мы заменим strptime с format:

> format(as.Date(dates$date, "%Y%m%d"), "%y%j") 
[1] "04001" "04002" "04003" "04364" "04365" "04366" 

Примечание: Мы использовали в качестве входных данных:

dates <- data.frame(date = c("20040101", "20040102", "20040103", 
          "20041229", "20041230", "20041231")) 
+0

Спасибо много! Это сработало отлично! –

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