Import von Google-Trends-Zeitreihen nach R

Eine der zahlreichen Anwendungen, die Google kostenlos zur Verfügung stellt, heißt Google Trends. Wie man auf Wikipedia nachlesen kann, handelt es sich dabei um einen Internetdienst, der “Informationen darüber bereitstellt, welche Suchbegriffe von Nutzern der Suchmaschine Google wie oft eingegeben wurden. Die Ergebnisse werden in Relation zum totalen Suchaufkommen gesetzt und sind in wöchentlicher Auflösung seit Anfang 2004 für die gesamte Welt oder einzelne Regionen verfügbar.”

Die von Google Trends errechneten Skalenwerte können – abhängig von der Popularität des Begriffs – einen Wert zwischen 0 und 100 annehmen, wobei höhere Werte eine größere Popularität anzeigen. Darüber hinaus finden sich für Interpretation der Skalenwerte auf den Seiten von Google Trends die folgenden Hinweise:

The numbers […] show total searches for a term relative to the total number of searches done on Google over time. A line trending downward means that a search term’s relative popularity is decreasing. But that does not necessarily mean the total number of searches for that term is decreasing. It just means its popularity is decreasing compared to other searches.

Für die Forschung ist Google Trends interessant, da sich mit dessen Hilfe die Popularität einzelner Begriffe im Zeitablauf abbilden lässt. Zum Beispiel lässt sich somit, wie eine Studie zeigte, der Auspruch einer Grippe-Epidemie erkennen.

Erleichtert wird die Analyse dieser Daten durch eine von Google bereitgestellte Schnittstelle (API), die sich mit dem Statistikprogramm GNU R ansteuern lässt.

In der sehr lesenswerten Blogpost GTrendsR package to Explore Google trending for Field Dependent Terms erklärt Tyler Rinker, wie man mit GNU R Google Trends-Daten importiert und graphisch darstellt.

In dieser Blogpost zeige ich, wie man Google Trends-Daten in R importiert und in einem Dataframe abspeichert. An der Analyse der Daten arbeite ich gerade.

Installieren der R-Pakete

Da die beiden für den Zugriff auf die Google Trends-API benötigten R-Pakete sich nicht auf dem CRAN-, sondern auf dem Github-Repository befinden, benötigt man für die Installation das devtools-Paket. Sobald dieses Paket installiert ist, lassen sich auch die Pakete GTrendsR und gtrend installieren.

install.packages('devtools', dep=TRUE)
devtools::install_github("dvanclev/GTrendsR")
devtools::install_github("trinker/gtrend")

Laden der R-Pakete

Im nächsten Schritt werden die für den Zugriff auf die Google Trends-API benötigten Pakete (gtrend und GTrendsR) geladen.

library(gtrend)
library(GTrendsR)

Datenimport

Im nächsten Code-Schnipsel werden die für die Analyse relevanten Begriffe festgelegt und in dem Vektor terms gespeichert. Mit der Funktion gtrend_scraper werden nun die Google Trends-Daten importiert. Diese Funktion erforert zwingend die Angabe einer Gmail-Adresse und des zugehörigen Passworts sowie der Suchbegriffe (terms). Darüber hinaus lässt sich mit der Angabe geo einstellen, auf welches Land sich die Suche beschränken soll. In diesem Beispiel habe ich mit ‘DE’ Deutschland ausgewählt (andere Länder: ‘US’=USA, ‘FR’=Frankreich, ‘UK’=Großbritannien, etc.).

terms <- c("Kino", "Theater", "Oper")
out <- gtrend_scraper("youremail@gmail.com", "password", terms, geo = 'DE')

Abschließend wird das Ergebnis der Suchabfrage in einem dataframe abgespeichert.

df.trends <- trend2long(out)

Mit der Funktion kable() aus dem R-Paket knitr und der head()-Funktion lassen sich die ersten 10 Zeilen des Datensatzes tabellarisch darstellen:

knitr::kable(head(df.trends), align = 'c')
term start end trend
Kino 2004-01-04 2004-01-10 64
Kino 2004-01-11 2004-01-17 49
Kino 2004-01-18 2004-01-24 48
Kino 2004-01-25 2004-01-31 50
Kino 2004-02-01 2004-02-07 51
Kino 2004-02-08 2004-02-14 52

Wie man sieht, enthält der Datensatz 4 Variablen:

  • term enthält die Suchbegriffe;
  • start und end sind Datumsvariablen und markieren Anfang und Ende des Messzeitraums;
  • trend speichert den Scorewert mit einem Wertebereich von 0 bis 100.
Advertisements

About norbert

I am post doc at the Department of Medical Psychology and Sociology, Leipzig University (GER), with degrees in sociology (MA) and public health (MPH).
This entry was posted in Data Management and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s