Mentre questa è una domanda ampia, se qualcuno è nuovo su R
questo può essere fonte di confusione e la distinzione può andare persa.
Tutti data.table
s sono anche data.frame
s. In poche parole, puoi considerare data.tables come data.frames con funzionalità extra.
data.frame
fa parte della base R
.
data.table
è un pacchetto che estende data.frames
. Due delle sue caratteristiche più importanti sono la sintassi veloce e pulita.
Tuttavia, lo zucchero di sintassi è diverso dalla sintassi standard di R per data.frame mentre è difficile da distinguere a occhio nudo dall'occhio non allenato. Pertanto, se si legge uno snippet di codice e non esiste un altro contesto per indicare che si sta lavorando con data.tables e si tenta di applicare il codice a un data.frame, potrebbe non riuscire o produrre risultati imprevisti. (Un chiaro omaggio che si sta lavorando con d.t di, oltre alla chiamata library
/require
è la presenza dell'operatore di assegnazione :=
che è unica per DT)
Con tutto ciò che viene detto, penso è difficile in realtà apprezzare la bellezza di data.table
senza sperimentare le carenze di data.frame
. (per esempio, vedi i primi 3 punti elenco della risposta di @ eddi). In altre parole, suggerisco vivamente di imparare come lavorare e manipolare data.frames
prima di passare a data.table
s.
fonte
2013-08-01 19:08:41
-1. La domanda è troppo ampia. –
@AnandaMahto, grazie, ma è anche un'opportunità per un genio di trovare una risposta completa e di successo ... :-) –
@Justin: I collegamenti sono stati utili. Non ero a conoscenza di loro. Forse potresti informare senza l'atteggiamento. @ Ferdinand.kraft: il tuo secondo commento riassume esattamente la mia posizione. Naturalmente posso leggere le pagine di aiuto e le esercitazioni, ma molti di loro presumono una conoscenza pratica della lingua e leggono come manuali tecnici per gli esperti. Sicuramente c'è qualcuno tra noi che può distillare le parti più pratiche da aver lavorato con 'data.frame' e' data.table' per anni. Non sto cercando di evitare il lavoro, ma cosa possono passare i programmatori esperti con meno esperienza? – remarkableearth