data.table der bessere Ansatz für große Daten als das Hadleyverse?

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

data.table der bessere Ansatz für große Daten als das Hadleyverse?

Beitrag von bigben »

Hallo Forum!

Vor sich gar nicht so lang anfühlender Zeit gab es mal einen öffentlichen Streit darüber, ob nun die tidy-Welt von Hadley Wickham mit seinem tidyR und dplyr etc die schnellere Lösung fürs Aggregieren, Filtern etc. von großen Datensätzen sei, oder data.table. Da mir ja eh niemand große Datensätze in die Hände gibt, habe ich das nicht weiter verfolgt.

Jetzt habe ich angefangen, in das neue Buch von Hadley Wickham hineinzuschnuppern, und stolpere über folgenden Satz im Kapitel 1.3.1 "Big data":
If you’re routinely working with larger data (10-100 Gb, say), you should learn more about data.table. This book doesn’t teach data.table because it has a very concise interface which makes it harder to learn since it offers fewer linguistic cues. But if you’re working with large data, the performance payoff is worth the extra effort required to learn it.
( http://r4ds.had.co.nz/introduction.html )

Der Seitenhieb bezüglich des Interfaces musste wohl sein, aber sonst lese ich das als Eingeständnis, dass data.table in Sachen Performanz gewonnen hat. Sehe ich das richtig? Ist das richtig?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: data.table der bessere Ansatz für große Daten als das Hadleyverse?

Beitrag von student »

Hallo Bernhard,

es mag nichts bedeuten und das ist sicher auch kein siginfikanter Unterscheid, aber wenn ich ... data.table und ...dplyr vergleiche (data.table wurde später hochgeladen), dann scheint "data.table" ein wenig beliebter zu sein.

Das Einarbeiten in data.table ist etwas schwieriger, ich schätze aber die Stabilität gegenüber dem Wickham-Universum. Das ist für mich wesentlich...!

data.table erscheint mir performanter, ich laufe allerdings i. d. R. nicht der Datenselektion hinterher und messe die Zeiten. Zumal ich mir nicht die Arbeit mache, mal data.table und dann das Gleiche dann noch mal mit dplyr zu machen. ;)
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: data.table der bessere Ansatz für große Daten als das Hadleyverse?

Beitrag von EDi »

Das Einarbeiten in data.table ist etwas schwieriger, ich schätze aber die Stabilität gegenüber dem Wickham-Universum. Das ist für mich wesentlich...!
Dito. Ist mir auch schon unangenehm aufgefallen, dass es (zu) viele breaking changes gibt.
data.table erscheint mir performanter,
Wenn du Performanz brauchst geht in R an data.table kein Weg vorbei.
Das tidyverse versucht halt den Spagat mit der Nutzerfreundlichkeit zu schaffen und da muss man dann zwangsläufig abtriche bei der Performanz machen - there is no free lunch.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: data.table der bessere Ansatz für große Daten als das Hadleyverse?

Beitrag von jogo »

Auch ich habe mich entschieden, bei größeren Datenmengen data.table einzusetzen. Ja, der Lernaufwand ist hoch. Es gibt einige Parallelen zu SQL (da bin ich etwas vorbelastet) - aber es gibt auch einige Elemente, die sehr eigen sind.
Dieser hohe Lernaufwand hat auch etwas Gutes: es wird nicht so schnell langweilig. :lol:
Bei StackOverflow habe ich mir den data.table-Tag markiert, damit ich entsprechende Nachrichten auch sofort sehe.
ansonsten: https://stackoverflow.com/tags/data.table/info
und http://franknarf1.github.io/r-tutorial/_book/index.html (Kapitel 3)

Gruß, Jörg
Antworten