2014-04-11 51 views
0

我有一個數據有一個日期列和其他10個列。 日期列的格式爲199010. 所以它是yyyymm。 這似乎是動物園/ xts要求日期中有天信息。 有什麼辦法可以解決這個問題嗎?R read.zoo錯誤的日期格式不正確

票數北京時間我的數據

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中,而無需額外的工作。

試試這個:

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)) 

上述指標轉換爲"yearmon"類可能在這裏最有意義的,但它會交替有可能將其轉換爲"Date"類由地方 使用FUN = function(x, format) as.Date(as.yearmon(x, format))上面的參數FUN

+0

非常感謝您的工作!這解決了我的問題。我想適當的日期應該有年,月和日。由於我的數據不提供「天」信息。它有點難以閱讀。但是你的方法非常好。再次感謝你。 – lulumink