Während dies eine breite Frage ist, wenn jemand neu zu R
ist, kann dies verwirrend sein und die Unterscheidung kann verloren gehen.
Alle data.table
s sind auch data.frame
s. Sie können sich data.tables als data.frames mit zusätzlichen Funktionen vorstellen.
data.frame
ist Teil der Basis R
.
data.table
ist ein Paket, das data.frames
erweitert. Zwei seiner bemerkenswertesten Merkmale sind Geschwindigkeit und sauberer Syntax.
Diese Syntax Zucker ist jedoch anders als die Standard-R-Syntax für data.frame, während es für das ungeschulte Auge schwierig ist, auf einen Blick zu unterscheiden. Wenn Sie also ein Code-Snippet lesen und kein anderer Kontext darauf hinweist, dass Sie mit data.tables arbeiten und versuchen, den Code auf einen data.frame anzuwenden, kann dies fehlschlagen oder zu unerwarteten Ergebnissen führen. (Eine klare Werbegeschenk, das Sie mit D. T des arbeiten neben dem library
/require
Aufruf ist die Anwesenheit des Zuweisungsoperators :=
die einzigartig ist zu dt)
Mit allem, was gesagt wird, ich denke es ist schwer zu schätzen tatsächlich die Schönheit von data.table
, ohne die Unzulänglichkeiten von data.frame
zu erfahren. (Siehe zum Beispiel die ersten drei Aufzählungspunkte von @ eddis Antwort). Mit anderen Worten, ich würde sehr empfehlen, zuerst zu lernen, wie man mit data.frames
arbeitet und manipuliert, dann weiter zu data.table
s.
-1. Die Frage ist zu weit gefasst. –
@AnandaMahto, danke, aber es ist auch eine Gelegenheit für ein Genie, eine umfassende und erfolgreiche Antwort zu finden ... :-) –
@Justin: Die Links waren hilfreich. Ich war mir ihrer nicht bewusst. Vielleicht könntest du dich ohne die Einstellung informieren. @ Ferdinand.kraft: Dein zweiter Kommentar fasst meine Position genau zusammen. Natürlich kann ich die Hilfeseiten und Tutorials lesen, aber viele von ihnen übernehmen Kenntnisse der Sprache und lesen wie technische Handbücher für die Erfahrenen. Sicherlich gibt es jemanden unter uns, der die praktischsten Teile aus der Arbeit mit "data.frame" und "data.table" seit Jahren destillieren kann. Ich will Arbeit nicht meiden, was können die erfahrenen Programmierer mit weniger Erfahrung an uns weitergeben? – remarkableearth