In früheren Beiträgen habe ich gezeigt, wie Daten von Twitter (twitteR), Yahoo Finance (quantmod), The Guardian (guardianR) und OECD (oecd R-package) direkt in R abgerufen und verwendet werden können. In diesem Beitrag zeige ich, wie man mit einem API-Schlüssel mit dem verfügbaren R-Paket auf FRED-Daten zugreifen kann: fredr. Eine gute Dokumentation für den Einstieg in das fredr-Paket wurde auch von den Autoren veröffentlicht: http://sboysel.github.io/fredr/articles/fredr.html
Ich demonstriere den Datenabrufprozess für FRED-Zeitreihendaten am Beispiel der US-amerikanischen Inlandsproduktion und der Automobilindustrie und anhand der Daten für den Imports von Neuwagen.
In einem ersten Schritt muss der FRED-API-Schlüssel im R-Skript eingerichtet werden. Dazu müssen Sie sich bei FRED registrieren und den API-Schlüssel kopieren und in das Skript einfügen. Sie können dies hier tun: https://research.stlouisfed.org/useraccount/apikey
# Installiere das fredr-Paket direkt von CRAN
#install.packages("fredr")
# Paket laden
library(fredr)
## Warning: package 'fredr' was built under R version 3.6.2
# Fredr API-Schlüssel setzen
fredr_set_key(api_key) # api_key string must be retrieved from https://research.stlouisfed.org/useraccount/apikey
Sobald der FRED-API-Schlüssel mit der Funktion fredr_set_key eingerichtet wurde, ermöglicht die Funktion fredr_series_search_text eine Zeitreihensuche in der FRED-Datenbank:
# Datenbank nach einer Automobilserie durchsuchen
search_ls <- fredr_series_search_text("car production")
# Spaltennamen der Ergebnisliste der Seriensuche anzeigen
colnames(search_ls)
## [1] "id" "realtime_start"
## [3] "realtime_end" "title"
## [5] "observation_start" "observation_end"
## [7] "frequency" "frequency_short"
## [9] "units" "units_short"
## [11] "seasonal_adjustment" "seasonal_adjustment_short"
## [13] "last_updated" "popularity"
## [15] "group_popularity" "notes"
Die Funktion fredr_series_search_text gibt eine Liste zurück, die die Suchergebnisse zusammenfasst und einen Überblick über relevante IDs und wichtige Datensatzmerkmale bietet.
Mit den fredr_series_observations können die gewünschten Zeitreihendaten durch Angabe der entsprechenden Serien-ID abgerufen werden. Mit der Funktion do.call kann die zurückgegebene Zeitreihenliste in einen Datenrahmen konvertiert werden. Dieser Datenrahmen kann mit ggplot2 visualisiert werden:
# ggplot2 R-Paket laden
library(ggplot2)
# DAUPSA ist eine ID für die saisonbereinigte monatliche inländische Automobilproduktion in Einheiten
series_ls <-fredr_series_observations(series_id = "DAUPSA")
# Serienliste in Datenrahmen konvertieren
series_df <- do.call(cbind.data.frame, series_ls)
# Plotten von Daten
ggplot(series_df) + geom_line(mapping = aes(x=date,y=value),
color = "red") +
ggtitle("Monthly US car production, seasonally adjusted [in thousands]") +
xlab("time") +
ylab("monthly cars produced [thousands of units]")

Die obige Grafik fasst die US-amerikanische Automobilproduktion seit 1993 in Einheiten zusammen (monatliche Zahlen, saisonbereinigt). Wie zu sehen ist, hat sich das historische Produktionsvolumen verringert.
Aber wie wäre es mit Neuwagenimporten? Im Folgenden wiederhole ich den obigen Arbeitsablauf für importierte Neuwagenverkäufe in Mrd. USD, vierteljährlich gemeldet und saisonbereinigt:
# B149RC1Q027SBEA ist eine ID für den US-Inlandsverkauf von importierten Neuwagen, saisonbereinigt und in Milliarden USD
series_df <-do.call(cbind.data.frame,
fredr_series_observations(series_id = "B149RC1Q027SBEA"))
# Daten plotten
ggplot(series_df) + geom_line(mapping = aes(x=date,y=value),
color = "red") +
ggtitle("Quarterly US imported new car sales, seasonally adjusted [in billion USD]") +
xlab("time") +
ylab("quarterly new imported car sales [billion USD]")


Wirtschaftsingenieur mit Interesse an Optimierung, Simulation und mathematischer Modellierung in R, SQL, VBA und Python
Leave a Reply