data > opinion

Tom Alby

1 Warum R?


Sie sind hier: start / lehrveranstaltungen / datenanalyse data science machine learning / 01 warum /

Bitte lesen Sie zunächst die allgemeine Einführung in Was sind Daten, was ist Data Science, und was hat das mit Künstlicher Intelligenz zu tun?

Warum R? Warum nicht Python?

Es ist kein “Entweder-oder”. Zunächst einmal die Fakten:

Auch wenn die Python-Jünger sagen, dass Python alles könne, so ist Python zunächst einmal eine mächtige allgemeine Programmiersprache, keine Sprache, die sich auf Statistik fokussiert. Natürlich existieren viele Erweiterungen für Python, um weitere Statistik-Funktionen hinzuzufügen, aber genau das ist der Punkt: Es sind Erweiterungen und keine grundsätzlichen Bestandteile wie bei R. Demgegenüber ist bei R so gut wie alles in der Standardinstallation enthalten, was man für die einfache Arbeit in der Statistik benötigt, es ist halt genau dafür ausgelegt. Aber auch R kann erweitert werden. Und auch für R existieren viele Libraries, die Funktionen nachrüsten, die Python eventuell schon mit Bordmitteln beherrscht. Libraries sind sozusagen Kollektionen von Routinen, die die Funktionen einer Programmiersprache erweitern. Mit Python und R kann man zum Beispiel mit Bordmitteln keine Webseite crawlen, das geht nur mit den zusätzlichen Libraries. In R werden Libraries auch packages oder Pakete genannt.

Manches kann Python mit seinen Erweiterungen einfach besser, zum Beispiel ist BeautifulSoup momentan noch ein viel besserer Web Scraper als Rvest es ist. Das Gute ist, dass sich beide Sprachen in RStudio wunderbar kombinieren lassen. Dazu später mehr. Ein großer Vorteil ist, dass R von Statistikern für Statistiker entwickelt wurde, also genau deren Bedürfnisse im Blick hatten. Manche bösen Zungen behaupten allerdings auch, dass dies der große Nachteil von R ist. Wiederum andere sagen, dass R süchtig macht und ungesund ist:

“Using R is a bit akin to smoking. The beginning is difficult, one may get headaches and even gag the first few times. But in the long run,it becomes pleasurable and even addictive. Yet, deep down, for those willing to be honest, there is something not fully healthy in it.” (Francois Pinard)

Natürlich stimmt das nicht. Zumindest nicht ganz. Vielleicht ein bisschen.

Wenn es um die Popularität von Programmiersprachen geht, so werden häufig Statistiken von Stack Overflow angeführt, in denen die Anzahl der Fragen/Antworten als Indikator für die Häufigkeit der Anwendung einer Programmiersprache genommen werden. Das klingt auf den ersten Blick sinnvoll, aber wenn man genauer darüber nachdenkt, dann könnte die Anzahl der Fragen auch ein Indikator dafür sein, wie viel Probleme Nutzer mit einer Sprache haben.

Dies soll aber kein “Flame War” werden, da der Autor auch ein Python-Fan ist. Allerdings ist für das Lernen von Statistik R aus der Erfahrung besser geeignet. Das Gute ist: Wenn man die Konzepte einmal verstanden hat, so ist das zusätzliche Lernen von Python ein Kinderspiel. Nun ja, fast.