Ich verwende das R
Paket WDI
, das den Import von Weltbankdaten über ihre API ermöglicht. Das Problem ist, dass ich alle Länder in einer Region, z. Subsahara-Afrika. Allerdings muss ich dafür so viele Länder angeben (SSH ist momentan 49).Importieren von Weltbankdaten für alle Länder in einer Region mit dem WDI-Paket
Am Anfang ist dies ineffizient, vor allem wenn man bedenkt, dass der Datenexplorer auf data.worldbank.org die Auswahl einer Region ermöglicht.
Das eigentliche Problem ist jedoch, dass die Anzahl der Länder problematisch wird (ich vermute) die Weltbank-API, weil eine zu große Anzahl von Ländern einen HTTP-Fehler gibt. Das verursacht, dass ich die Anfrage in zwei Teile teilen muss.
Wenn jedoch der effizientere ALL
Wert verwendet wird, gibt es keinen Fehler, obwohl die Anzahl der Beobachtungen viel höher ist.
Im Moment sieht mein Code wie folgt aus:
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)
ich versucht habe SSH
als Ländercode verwenden, aber das gibt ein Aggregat aller SSH Länder, anstatt alle Beobachtungen.
Irgendwelche Ideen?
Vielen Dank! Wenn jemand anderes das verwenden möchte, können Sie die zusätzlichen Spalten löschen: 'd <- Teilmenge (d, wählen = c (" Land "," Jahr ", Indikatoren))' –