我有一個來自FRED的xts對象,並且想將它轉換爲data.table(或dataframe)對象。相關的代碼是:將xts對象從FRED轉換爲data.table
library(data.table)
library(quantmod)
library(Quandl)
library(zoo)
library(knitr)
library(ggplot2)
dataTableTemp <- getSymbols('DJIA', src='FRED')
dataTableTemp <- as.data.table(dataTableTemp)
這是XTS的內容對象它得到:
DJIA
2007-08-08 13657.86
2007-08-09 13270.68
2007-08-10 13239.54
... ...
STR(DJIA),這是它的下載時,它被賦予的名字,給人
> str(DJIA)
An ‘xts’ object on 2007-08-08/2017-08-08 containing:
Data: num [1:2610, 1] 13658 13271 13240 13237 13029 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "DJIA"
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
List of 2
$ src : chr "FRED"
$ updated: POSIXct[1:1], format: "2017-08-09 09:41:49"
它繼續像幾千行一樣。當我將其轉換爲data.table與代碼的第二行,然而,這是所有有(以表格形式):
dataTableTemp
1 DJIA
我利用GGPLOT2 fortify(dataTableTemp)
嘗試,除了
dataTableTemp <- data.frame(date=index(dataTableTemp), coredata(dataTableTemp))
,甚至是tribble()
方法,但他們都沒有工作。我應該怎麼做才能將其轉換爲dataframe/data.table?
任何幫助,將不勝感激。謝謝。
當執行,只有dataTableTemp有一行有'date'和'coredata.dataTableTemp'列。 '日期'只是數字1(顯然不正確),另一列是股票代碼名稱(DJIA),它應該是16000這樣的數字。 –
在DJIA而不是dataTableTemp上做?這可能只是返回符號的字符串名稱。獲取符號的賦值默認返回名稱。有一個參數可以設置爲返回任務中的數據,但是您的全局環境獲取DJIA – FXQuantTrader
dataTableTemp < - data.frame(date = index(DJIA),coredata(DJIA)) – FXQuantTrader