显然,在我的最后一个问题我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