2014-04-11 6 views
0

날짜 열과 다른 10 개의 열이있는 데이터가 있습니다. 날짜 열의 형식은 199010입니다. 이므로 yyyymm입니다. 동물원/xts에 날짜 정보가 포함되어 있어야합니다. 이 문제를 해결할 방법이 있습니까?잘못된 날짜 형식의 R 읽기 .zoo 오류

는 HIER 코드가 이러한 문제를 가지고

structure(list(Date = 198901:198905, NoDur = c(5.66, -1.44, 5.51, 
5.68, 5.32)), .Names = c("Date", "NoDur"), class = "data.frame", row.names = c(NA, 
5L)) 


data<-read.zoo("C:/***/data_port.csv",sep=",",format="%Y%m",header=TRUE,index.column=1,colClasses=c("character",rep("numeric",1))) 
+0

읽어보기 : http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

죄송합니다. 그게 뭔가요? 내 질문에 직접 답하는 것 같지 않습니다. 나는 그것을 읽는 동안 자신을 잃어 버렸다. – lulumink

+0

링크가 질문에 대답하지 않습니다. 질문을하는 법을 보여줍니다. 중요한 요구 사항은 포스터가 재현 가능한 예를 제공해야한다는 것입니다. 이는 누구나 질문에서 클립 보드로 복사하여 추가 작업없이 R 세션에 붙여 넣으면 코드가 실행되고 문제가 재현 될 수 있음을 의미합니다. –

답변

2

내 데이터 인도 표준시 :

  • 데이터가 공백으로 구분하지만 코드는 쉼표
  • 에게 데이터가 날짜를 설명하지 않습니다 분리하도록 지정 아무 날도 없기 때문에 코드는 디폴트 날짜를 사용합니다
  • 데이터는 재현 가능한 형태로 제공되지 않습니다. 아래의 데이터와 코드를 복사하여 추가 작업없이 R에 붙여 넣을 수 있습니다. 위의 내용 아마 여기에 가장 적합한 "yearmon" 클래스에 인덱스를 변환

    Lines <- "Date NoDur 
    198901 5.66 
    198902 -1.44 
    198903 5.51 
    198904 5.68 
    198905 5.32 
    " 
    
    library(zoo) 
    read.zoo(text = Lines, format = "%Y%m", FUN = as.yearmon, header = TRUE, 
         colClasses = c("character", NA)) 
    

    을하지만 교대 대신에 FUN = function(x, format) as.Date(as.yearmon(x, format))를 사용하여 "Date" 클래스로 변환 할 수있을 것입니다 :

이 시도 위의 FUN 인수

+0

모든 일에 정말 감사드립니다! 이것은 내 문제를 해결했다. 나는 적절한 날짜가 년, 월, 일을 가져야한다고 생각한다. 내 데이터는 "일"정보를 제공하지 않기 때문에. 그것은 약간 읽기 어렵게 만듭니다. 하지만 당신의 접근 방식은 완벽합니다. 다시 감사합니다. – lulumink

관련 문제