2016-12-06 344 views
1

我對R相當陌生,我的問題相當基本。我使用Rblpapi包從彭博直接下載數據到變量x。這些數據在我的環境數據中被列爲「20個變量的觀測值」。它由左側和月度價格數據的日期(按時間排序),具體如下:將數據轉換爲xts對象

----------------------------- 
     Date  PX_LAST 
----------------------------- 
    2014-06-30 55.3; 
    2014-07-31 52.1; 
    etc... 

現在我想用在quantmod這個數據,但似乎我需要XTS數據。我怎樣才能輕鬆地將這種數據轉換爲xts格式,以便我可以繼續使用它?我總是得到錯誤:

Error in try.xts(x, error = "chartSeries requires an xtsible object"): chartSeries requires an xtsible object

回答

2

bdh()返回data.frame:

R> ibm <- bdh("IBM US Equity", "PX_LAST", start.date=Sys.Date()-5) 
R> ibm 
     date PX_LAST 
1 2016-12-01 159.82 
2 2016-12-02 160.02 
3 2016-12-05 159.84 
4 2016-12-06 160.35 
R> class(ibm) 
[1] "data.frame" 
R> 

這是很容易從這個創建XTS:

R> ibmxts <- xts(ibm[, -1, drop=FALSE], order.by=ibm[,1]) 
R> ibmxts 
      PX_LAST 
2016-12-01 159.82 
2016-12-02 160.02 
2016-12-05 159.84 
2016-12-06 160.35 
R> 

編輯:getTicks()getBars()都讓你指定返回類型並給你xts(或另一種類型);我剛剛提交了an issue提醒我們也在這裏添加這個...