我有一个来自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