です。私の最後の質問では、data.frame
とdata.table
の間に混同がありました。確かに、私は区別があることを認識していませんでした。実際のdata.frameとdata.tableの違いはR
私はそれぞれのためのヘルプを読んでいますが、実用的で日常的な意味で違いは何ですか、その意味は何ですか?
です。私の最後の質問では、data.frame
とdata.table
の間に混同がありました。確かに、私は区別があることを認識していませんでした。実際のdata.frameとdata.tableの違いはR
私はそれぞれのためのヘルプを読んでいますが、実用的で日常的な意味で違いは何ですか、その意味は何ですか?
これらは似ています。データフレームは等しい長さのベクトルのリストであり、データテーブル(data.table
)はデータフレームの継承である。従って、データテーブルはデータフレームであるが、データフレームは必ずしもデータテーブルではない。データテーブルのパッケージと関数は、インデックス作成、順序付けられた結合、割り当て、グループ化、およびリストの列(など)の速度を向上させるために作成されました。
詳細については、http://datatable.r-forge.r-project.org/datatable-intro.pdfを参照してください。
彼らは外観が似ています。 –
@エリス、リンクありがとう。 – remarkableearth
@ Ferdinand.kraft彼らは機能に似ていませんか? ;)しかし、私は彼らが多くの違いを持っていることに同意します –
これは広範な質問ですが、誰かがR
を初めてお使いの場合、これは混乱する可能性があり、区別が失われる可能性があります。
全てdata.table
sもdata.frame
sである。ゆるやかに言えば、data.tablesは特別な機能を持つdata.framesと考えることができます。
data.frame
は、R
の一部です。
data.table
は、data.frames
を拡張するパッケージです。最も注目すべき機能の2つは、スピードとクリーンな構文です。
しかし、この構文の砂糖はdata.frameの標準R構文とは異なりますが、訓練されていない目は一見して区別するのが難しいです。したがって、コードスニペットを読み込んで、data.tablesで作業していることを示す他のコンテキストがなく、data.frameにコードを適用しようとすると、エラーが発生したり、予期しない結果が生じる可能性があります。それは言われているすべてで
(あなたがlibrary
/require
コールのほか、d.t年代で作業している明確な景品がdtにユニークです代入演算子:=
の存在がある)、私はそれが難しいですだと思います実際にdata.table
という美しさを感じることなく、data.frame
の欠点を経験しています。 (例えば、@ eddiの答えの最初の3つの箇条書きを参照してください)。つまり、data.frames
を操作して操作する方法を最初に教えてから、data.table
に進んでください。
(順不同)の心に来て日常生活に私の一日でいくつかの相違点:
data.table
名を指定する必要がありません表現(フリップ側で私は時々名のタブ補完を欠場)by
操作df
忘れ、df
を入力後、Ctrl-Cを押します決して使用head
)fread
パッケージには、より良い生活data.frame
操作の多くは、コピー作る%between%
またはrbindlist
のような他のユーティリティ機能の数を、提供は3番目の理由でupvoted ... – eflores89
-1です。質問が広すぎます。 –
@AnandaMahto、ありがとう、しかし、それはまた、天才のための包括的なsuccint答えを思い付く機会です... :-) –
@ジャスティン:リンクが役立った。私はそれらを知らなかった。おそらくあなたは態度なしで知らせることができます。 @ Ferdinand.kraft:あなたの2番目のコメントは私の位置を正確に要約しています。もちろん、ヘルプページやチュートリアルを読むことはできますが、多くの人が言語の実用的知識を身に付け、経験豊富な人の技術マニュアルのように読んでいます。確かに、最も実用的な部分を 'data.frame'と' data.table'の両方で何年も掘り下げて扱うことができない人が私たちの間にいます。私は仕事を避けようとは思っていません。経験豊富なプログラマーが経験が少ない私たちに何を伝えることができますか? – remarkableearth