Google-Analytics-Daten in R einlesen

Manchmal kann man nicht mit Packages wie googleAnalyticsR arbeiten oder bekommt die Daten anders zur Verf├╝gung gestellt ­čÖü Datenformat aus Analytics exportiert sieht so aus:

11.01.13,"1,79"
12.01.13,"1,81"
13.01.13,"1,86"
14.01.13,"1,83"
15.01.13,"1,79"

R kann nichts mit dem Datumsformat anfangen, da R┬ágerne das POSIX-Datumsformat h├Ątte (Jahr-Monat-Tag).

> analytics <- read.table(file="analytics.csv", sep=",", dec=",", quote = "\"")
> analytics$V1 <- strptime(analytics$V1,format="%d.%m.%y")
> summary(analytics)
V1 V2
Min. :2013-01-11 00:00:00 Min. :1.000
1st Qu.:2013-12-19 06:00:00 1st Qu.:1.550
Median :2014-11-26 12:00:00 Median :1.630
Mean :2014-11-26 11:23:44 Mean :1.632
3rd Qu.:2015-11-03 18:00:00 3rd Qu.:1.710
Max. :2016-10-11 00:00:00 Max. :2.520
>

In letzter Zeit habe ich mir angew├Âhnt, read.table anstatt read.csv oder read.csv2 zu nutzen, denn ich kann mir den Unterschied zwischen den beiden eh nicht merken und welche Parameter darin true sind oder nicht, und sie sind nur vorformatierte Variationen von read.table.

So kann es passieren, dass man unh├╝bsche Daten bekommt, an denen summary() kapituliert:

V1 V2
65.65796: 3 124.7975: 4
67.34629: 3 121.1097: 3
67.94061: 3 123.5503: 3
67.97769: 3 124.0167: 3
68.30287: 3 126.2769: 3
68.93456: 3 126.7902: 3
(Other) :21062 (Other) :21061

In diesem Fall liegt es einfach daran, dass der Header nicht mit eingelesen wurde. Ganz anders mit der Angabe:

> size
[/code]
[code]
> summary(size)
Height Weight
Min. :60.28 Min. : 78.57
1st Qu.:66.70 1st Qu.:119.31
Median :67.99 Median :127.20
Mean :67.99 Mean :127.09
3rd Qu.:69.27 3rd Qu.:134.88
Max. :75.15 Max. :170.92
>

Filed under: Data ScienceTagged with: ,

2 Comments

  1. Hallo Tom,

    da ich unter Deinem R-Artikel (https://tom.alby.de/lehrveranstaltungen/data-science-analytics/data-science-tools/r/) nicht kommentieren kann, schreibe ich mal kurz hier etwas dar├╝ber.
    Ich finde diese Diskussionen dar├╝ber, ob R oder Python besser ist f├╝r Data Science genauso sinnlos. Ich benutze einfach beides, take the best tool for the job. Die Python-pandas sind zum Beispiel in ihrer Funktionalit├Ąt deutlich umfangreicher als dataframes und datatables in R. Ich finde R aber nach wie vor toll und benutze es via RStudio t├Ąglich.

    Deine Aussage “The biggest advantage of R is its ability to work with data in an interactive manner.” kann ich aber so nicht stehenlassen. Es ist in Python problemlos m├Âglich Daten interaktiv auszuwerten und zu analysieren:

    (1) In den Jupyter Notebooks wird der Code auf mehrere Zellen aufgeteilt, wobei diese Zellen einzeln in beliebiger Reihenfolge ausgef├╝hrt werden k├Ânnen oder man kann alle Zellen auf einmal ausf├╝hren lassen. Ich habe die Jupyter Notebooks lange nicht verwendet, weil ich das Arbeiten mit dieser Zellenstruktur gew├Âhnungsbed├╝rftig finde. Mittlerweile finde ich sie aber f├╝r die Datenexploration oder f├╝r das Lernen neuer Python-Pakete (pandas, scikit-learn …) sehr n├╝tzlich. Ein Python-Jupyter Notebook kann man nach erfolgreicher Exploration einfach in eine “normale” Python-Datei exportieren um den Python-Code dann im Produktiveinsatz zu verwenden.
    Man kann ├╝brigens auch Jupyter Notebooks f├╝r R erstellen. Dazu muss nur einmalig die R-Unterst├╝tzung installiert werden.

    (2) Es gibt mehrere Python-Editoren, mit denen man Python-Code genauso zeilen- oder blockweise ausf├╝hren kann wie R-Code in RStudio. Wenn man sich Python ├╝ber die Anaconda-Distribution installiert, dann bekommt man mit einem Klick kostenlos den Spyder-Editor hinzu. Spyder ist zwar nicht so umfangreich wie RStudio (es gibt zum Beispiel keine Unterst├╝tzung f├╝r GitHub und f├╝r das Arbeiten in Projekten), aber sonst ist die Struktur vergleichbar mit dem Aufbau in RStudio. Man kann genauso jederzeit alle in einer Sitzung erstellten Datenobjekte inspizieren und Datenplots werden auch direkt im Editor angezeigt.

    Viele Gr├╝├če aus Franken!

    Thomas

  2. Hey Thomas, Danke f├╝r Deinen Kommentar. Ich hab mit beidem gearbeitet, und wir benutzen sogar beide Sprachen in einem Notebook in RStudio. Rvest zum Scrapen von Seiten ist nett, aber nicht vergleichbar mit Beautiful Soup, so dass wir dann lieber Python nutzen. Python ist halt eher eine “vollwertige” Programmiersprache, wohingegen R f├╝r mich das Besteck f├╝r Statistik bereitstellt, das ich ben├Âtige. Das geht auch alles mit Python, klar. Nur wenn man sich ├╝berlegt, aus welcher Idee heraus die Sprachen geboren wurden, dann l├Ąsst sich meiner Meinung nach nicht von der Hand weisen, dass R im Bereich der statistischen Datenexploration etwas leichter von der Hand geht als Python. W├╝rde ich damit einen Crawler bauen? Nun ja, kann man machen, muss man aber nicht. Da finde ich Python viel besser. An Python nervt mich die Indentierung, an R nerven (und gleichzeitig begeistern) mich die Vor- und Nachteile der funktionalen Programmierung. Aber es ist eben nicht Apple versus Windows, Katholizismus versus Protestanten, etc. Wir k├Ânnen zum Gl├╝ck immer beides nutzen ­čÖé


Add a Comment

Deine E-Mail-Adresse wird nicht ver├Âffentlicht. Erforderliche Felder sind mit * markiert.

Comment *

Name *
Email *
Website