顯然,在我的最後一個問題我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瞭解更多信息。
它們在外觀上只有相似之處。 –
@Ellis,感謝您的鏈接。 – remarkableearth
@ Ferdinand.kraft他們不是_similar_的功能? ;)但我同意,他們有許多差異 –
雖然這是一個很寬泛的問題,如果有人是新的R
這可能導致混淆和區別可能會丟失。
所有data.table
s爲也data.frame
秒。鬆散地說,您可以將data.tables視爲具有額外功能的data.frames。
data.frame
是鹼R
的一部分。
data.table
是延伸data.frames
一個包。其最顯着的特點之一是速度和清晰的語法。
但是,該語法糖不同於數據幀的標準R語法,而對於未經訓練的眼睛難以一目瞭然地辨別。因此,如果您閱讀了代碼段,並且沒有其他上下文來指示您正在使用data.tables並嘗試將代碼應用於data.frame,則可能會失敗或產生意外的結果。 (您正在使用d.t的工作,除了library
/require
通話清晰的贈品是賦值運算符:=
這是唯一的DT的存在)
與所有他這樣說,我覺得很難實際上欣賞data.table
的美麗沒有遇到data.frame
的缺點。 (例如,請參閱@ eddi答案的前3個項目符號)。換句話說,我非常建議學習如何使用和操作data.frames
然後再轉到data.table
s。
在我每一天的生活浮現在腦海中的一些區別是(排名不分先後):
data.table
名(導致笨拙的語法和愚蠢的錯誤)表達式(在另一面有時候我會想念名稱的TAB完成)by
操作df
,忘記大df
怎麼回事後,瘋狂地按下Ctrl-C(也導致幾乎決不使用head
)fread
%between%
或rbindlist
,讓生活更美好data.frame
操作的複製讀書整件事不必要upvoted第三個原因... – eflores89
-1。問題太廣泛。 –
@AnandaMahto,謝謝,但它也是一個天才的機會,想出一個全面和簡潔的答案... :-) –
@Justin:鏈接是有幫助的。我沒有意識到他們。也許你可以沒有態度地通知。 @ Ferdinand.kraft:你的第二個評論正是我總結我的立場。當然,我可以閱讀幫助頁面和教程,但其中許多人都具有該語言的工作知識,並閱讀了有經驗的技術手冊。毫無疑問,我們中有人能夠提煉多年來從事'data.frame'和'data.table'工作的最實用的部分。我不想避免工作,只有經驗豐富的程序員能夠以較少的經驗傳遞給我們什麼? – remarkableearth