如何编写R函数,从Quandl数据库中删除几个数据系列(同一指标,不同国家)?

时间:2016-07-13 15:31:40

标签: r web-scraping quandl

我想从名为Quandl的在线数据库下载不同国家/地区的相同指标的数据系列。我可以为每个请求使用相同的URL,但我只需要更改国家/地区代码。

下面的代码不起作用,有人可以帮我使用正确的R代码吗?

这是我关于stackoverflow的第一个问题,如果我还没达到所有stackoverflow规则的话,请道歉。我尝试使用谷歌等搜索答案。到目前为止没有成功......

install.packages("Quandl")
library(Quandl)

x.df <- data.frame(x)

countries <- c("BE", "ESP")

for(i in countries){
    temp.df <- Quandl("AMECO/", i, "_1_0_319_0_UBLGAPS", start_date = "1995-12-30", collapse = "annual")
    x.df <- merge(x.df, temp.df, all=TRUE)
    }

我收到此错误消息:

  

match.arg(变换)出错:
    &#39;精氨酸&#39;应该是“”,“diff”,“rdiff”,“normalize”,“cumul”,“rdiff_from”之一

1 个答案:

答案 0 :(得分:0)

解释抛出特定错误的原因。这个电话:

 Quandl("AMECO/", i, "_1_0_319_0_UBLGAPS", start_date = "1995-12-30", collapse = "annual")

....有一堆未命名的参数,第三个参数"_1_0_319_0_UBLGAPS"在位置上与Quandl函数中的transform参数匹配,该参数只接受错误消息中列出的值。这个从Quandl / R帮助页面修改的运行示例显示Eric Lecoutre的建议是在点:

> data <- Quandl(code=paste0("WIKI/", "FB.", 11), 
                 start_date="2014-01-01", 
                 end_date="2014-12-31", 
                 collapse="monthly", 
                 transform="diff")
> str(data)
'data.frame':   11 obs. of  2 variables:
 $ Date      : Date, format: "2014-12-31" ...
 $ Adj. Close: num  0.32 2.71 -4.05 4.22 2.17 ...
 - attr(*, "freq")= chr "daily"

这个故事的道德:当遇到match.arg错误时,请返回并命名所有函数参数。