我一直在努力通过他们最近发起的SDMX服务在IN中利用INEGI(墨西哥统计机构)数据开发一个闪亮的应用程序。我到目前为止与开发人员联系,他们给了我以下,不可行的代码:
require(devtools)
require(RSQLite)
require(rsdmx)
require(RCurl)
url <- paste("http://www.snieg.mx/opendata/NSIRestService/Data/ALL,DF_PIB_PB2008,ALL/ALL/INEGI");
sdmxObj <- readSDMX(url)
df_pib <- as.data.frame(sdmxObj)
这让我想到以下错误:
sdmxObj <- readSDMX(url)
Opening and ending tag mismatch: ad line 1 and Name
Opening and ending tag mismatch: b3 line 1 and Name
Opening and ending tag mismatch: b3 line 1 and Department
Opening and ending tag mismatch: c3 line 1 and Contact
Opening and ending tag mismatch: a1 line 1 and Sender
Opening and ending tag mismatch: c3 line 1 and Header
Opening and ending tag mismatch: b3 line 1 and GenericData
......等等,你明白了。
我试图使用另一个网址(也许这是广泛的,引入每次GDP测量),但我得到相同的结果:
url<-"http://www.snieg.mx/opendata/NSIRestService/Data/ALL,DF_PIB_PB2008,ALL/.MX.........C05.......0101/INEGI?format=compact"
如果我直接用浏览器下载文件,我似乎得到了有用的结构。
有什么想法吗?这似乎是直接来自源的错误定义或包“rsdmx”的问题,如果是这样,是否有人找到了正确解析类似结构的方法?
答案 0 :(得分:2)
您使用rsdmx粘贴的代码完全没问题。您遇到的问题是关于您的工作场所防火墙,正如您正确指出的那样。
您只需要加载rsdmx
包(其他包不需要明确声明)
require(rsdmx)
并执行此代码:
url <- paste("http://www.snieg.mx/opendata/NSIRestService/Data/ALL,DF_PIB_PB2008,ALL/ALL/INEGI");
sdmxObj <- readSDMX(url)
df_pib <- as.data.frame(sdmxObj)
我已检查过与此数据源相关的任何潜在问题,但没有。严格保持在您的职位范围内,您的代码很好。
这就是说,如果您在rsdmx中发现错误,可以直接在https://github.com/opensdmx/rsdmx/issues提交故障单。向用户提供提示反馈。您也可以在那里或rsdmx邮件列表中发送建议或希望的功能。
答案 1 :(得分:0)