Hej Leute,

hier kommt für euch das nächste R-Häppchen:

Kennt ihr schon das Package sqldf? Das ist für alle SQL-Jünger unter uns. Damit können wir R um SQL-Fähigkeiten erweitern. Genauer gesagt können wir SQL-Statements auf dataframes anwenden.

Wie macht sqldf das? Es erstellt eine temporäre Datenbank, importiert den dataframe in die Datenbank, führt das sqlite-Statement aus und gibt den Output zurück. Und das geht erstaunlich schnell, zum Teil schneller als direkt in R zu rechnen.
Und das beste ist, dass wir uns darum überhaupt nicht kümmern müssen, sondern einfach das SQL-Statement aufrufen können.

Also wie jedes CRAN-Package installieren

install.packages("sqldf")

 

Ich liebe die schnellen Aggregierungsmöglichkeiten mit der group by-Funktionalität:

library(sqldf)
# Zählt die Anzahl Einträge und berechnet die Sepal-Mittelwerte 
sqldf("select
        Species,
        count(1) as n,
        avg([Sepal.Length]) as MW_SepalLength,
        avg([Sepal.Width]) as MW_SepalWidth
        from iris
        group by Species
        order by Species")

Wer mehr wissen will, schaut einfach mal auf die Github-Seite zu sqldf, dort gibt es noch einen Haufen weiterer Beispiele.

Lasst den SQL-Geek in euch raus und habt Spaß dabei,
Euer Holger