5

API を介して世界銀行のデータをインポートできるRパッケージを使用しています。WDI問題は、サハラ以南のアフリカなど、地域内のすべての国を見たいということです。ただし、これには非常に多くの国を指定する必要があります (SSH は現在 49 です)。

これは、特に data.worldbank.org のデータ エクスプローラーで地域を選択できることを考えると、非効率的です。

しかし、実際の問題は、国が多すぎると HTTP エラーが発生するため、世界銀行 API を処理するのに問題が生じることです (私は推測しています)。リクエストを 2 つの部分に分割する必要がありました。

ただし、より効率的なALL値を使用すると、観測数がはるかに多くてもエラーは発生しません。

現在、私のコードは次のようになっています。

library(WDI)

COUNTRIES1 <- c( "AGO","BEN","BWA","BFA","BDI","CMR","CPV","CAF","TCD","COM","ZAR","COG","CIV","GNQ","ERI","ETH","GAB","GMB","GHA","GNB","GIN","KEN","LSO","LBR","MDG" )
COUNTRIES2 <- c( "MWI","MLI","MRT","MUS","MYT","MOZ","NAM","NER","NGA","RWA","STP","SEN","SYC","SLE","SOM","ZAF","SSD","SDN","SWZ","TZA","TGO","UGA","ZMB","ZWE" )
INDICATORS <- c("NY.GDP.PCAP.KN", "SP.DYN.TFRT.IN", "SP.POP.TOTL")

LONG1 <- WDI( country=COUNTRIES1, indicator=INDICATORS, start=1960, end=2009, extra=FALSE)
LONG2 <- WDI( country=COUNTRIES2, indicator=INDICATORS, start=1960, end=2009, extra=FALSE)

LONG <- merge( LONG1, LONG2, by=intersect( names(LONG1),names(LONG2) ), all=TRUE )

国コードとして使用SSHしてみましたが、これにより、すべての観察ではなく、すべての SSH 国の集計が得られます。

何か案は?

4

1 に答える 1

9

すべての国のデータをダウンロードし、 を使用しRegionて結果をフィルタリングできます。

library(WDI)
indicators <- c("NY.GDP.PCAP.KN", "SP.DYN.TFRT.IN", "SP.POP.TOTL")
d <- WDI("all", indicators, extra=TRUE, start=1960, end=2009)
# Discard unwanted rows
d <- d[ which(d$Region == "Sub-Saharan Africa"), ]
# Discard unwanted columns
d <- d[,1:6]
head(d)
于 2012-04-17T12:43:03.920 に答える