R - 将下载的数据帧转换为xts

时间:2014-08-03 03:40:49

标签: r xts

我希望绘制美国GDP数据的最近10年。我通常来自Quandl,但是在原始来源的网站上没有更新的数据存在一些问题,因此我已经找到了原始来源。我可以从csv文件中将数据输入到R中,但是我无法将其转换为xts,我可以从中对所需的数据进行子集化。我尝试了各种xts的组合,但都提出了我查找但无法找到解决方案的错误。任何有助于将数据转换为xts的帮助。

从Tinn-R运行的初始代码:

library(xts)

download.file("http://research.stlouisfed.org/fred2/data/GDPC96.csv",destfile="usgdp.csv")

x=read.csv("usgdp.csv", header=TRUE) 

'x'中的数据(前10行):

         DATE     VALUE
1   1947-01-01  1934.471

2   1947-04-01  1932.281

3   1947-07-01  1930.315

4   1947-10-01  1960.705

5   1948-01-01  1989.535

6   1948-04-01  2021.851

7   1948-07-01  2033.155

8   1948-10-01  2035.329

9   1949-01-01  2007.522

10  1949-04-01  2000.788

1 个答案:

答案 0 :(得分:4)

传递第一个参数中的数据xts和第二个参数中的基于时间的索引:

xts(x$VALUE, as.Date(x$DATE))

使用quantmod从同一来源下载数据可能更容易。

library(quantmod)
getSymbols("GDPC96", src="FRED")
head(GDPC96)
#              GDPC96
# 1947-01-01 1934.471
# 1947-04-01 1932.281
# 1947-07-01 1930.315
# 1947-10-01 1960.705
# 1948-01-01 1989.535
# 1948-04-01 2021.851