2014-08-29 35 views
1

我仍然在學習R,並且在使用各種數據類型,類等時變得非常困惑。我遇到了這個問題中的「日期」不在現在無數次使用xts的正確格式,並且經過長時間努力尋找(我認爲)複雜的解決方案後,每次都找到解決方案。將csv加載到R中作爲xts,或者相當於啓用時間序列分析

我正在尋找一種方法將CSV加載到R中,並在每次加載csv到R時加載日期。在我的文件中,99%的文件包含Date作爲第一列,格式爲01- 31-1900(xts希望YYYY-mm-dd)。

現在,我有以下幾點:

FedYieldCurve <- read.csv("Yield Curve.csv", header = TRUE, sep = ",", stringsAsFactors = FALSE) 
FedYieldCurve$Date <- format(as.Date(FedYieldCurve$Date), "%Y/%m/%d") 

和我收到錯誤:在charToDate(X): 字符串是不是一個標準的明確格式

回答

1

format參數必須是內as.Date。試試這個(如果這些文件中的日期存儲在1900年1月31日格式):

as.Date(FedYieldCurve$Date,format="%m-%d-%Y") 

當您嘗試將字符串強制到Date對象必須指定字符串作爲格式format參數在as.Date調用中。嘗試強制使用除標準YYYY-mm-dd以外的格式的字符串時,您報告了錯誤。

+0

as.Date(as.character(FedYieldCurve $ Date),format =「%d-%m-%Y」) [1]不適用不適用不適用不適用不適用不適用不適用不適用NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [NA] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA – user2662565 2014-08-29 14:33:09

+0

格式'%d-%m-%Y'是否正確?有沒有 - 而不是 - 在字符串中?你可以寫一些FedYieldCurve $ Date的元素嗎? – nicola 2014-08-29 14:43:44

+0

行動,也許前兩位數字是指月份,所以正確的格式應該是%m-%d-%Y – nicola 2014-08-29 14:45:46

0

當提問這樣的問題時,提供幾行文件。在沒有這個的情況下,我們在下面的一個自包含的例子中提供了一些數據。

使用指定format的動物園包(其中xt加載)的read.zoo。 (替換爲註釋行從文件讀取read.zoo線。)

Lines <- "Date,Value 
01-31-1900,3" 

library(xts) 
# z <- read.zoo("myfile.csv", header = TRUE, sep = ",", format = "%m-%d-%Y") 
z <- read.zoo(text = Lines, header = TRUE, sep = ",", format = "%m-%d-%Y") 
x <- as.xts(z) 

參見?read.zooReading Data in zoo

相關問題