這裏更好意味着更快或更易於閱讀/更短的語法,也可能意味着該命令在data.table
中甚至不可行。當plyr比data.table更好嗎?
我不使用plyr
很多,並想知道是否有案件,當我應該。因爲我沒有使用它很多,我能想出的唯一例子是rbind.fill
,據我所知沒有data.table
模擬和我見過的所有其他示例在plyr
和data.table
中均已完成,後者更快,更容易閱讀/更緊湊。
這裏更好意味着更快或更易於閱讀/更短的語法,也可能意味着該命令在data.table
中甚至不可行。當plyr比data.table更好嗎?
我不使用plyr
很多,並想知道是否有案件,當我應該。因爲我沒有使用它很多,我能想出的唯一例子是rbind.fill
,據我所知沒有data.table
模擬和我見過的所有其他示例在plyr
和data.table
中均已完成,後者更快,更容易閱讀/更緊湊。
它們是不同目的的不同軟件包。一個不能替代另一個,儘管它們有一小部分功能重疊。
下面是每個包的簡要總結,從包裝自己:
的plyr包是一組的,在R.實施拆分申請,結合圖案清晰一致的工具,這是一個數據分析中非常常見的模式:通過將問題分解成小塊來解決複雜問題,對每個塊做一些事情,然後再將這些結果重新組合起來。
和
data.table
...提供了快速的子集,快速分組,快速更新,快速有序的連接和列表列在很短的和靈活的語法,爲更快的發展。它受到R中A [B]語法的啓發,其中A是矩陣,B是2列矩陣。
它們重疊是在「快分組」這plyr也確實通過拆分data.frames,上個工作,並把它們重新組合成一個單一的data.frame。 data.table
還有許多其他功能可以使數據框架像結構一樣快速運行; plyr
具有將分裂應用組合範例應用於其他數據結構(例如列表和數組(作爲輸入和輸出))的特徵。
實際上,它們是兩個不同的工具,它們碰巧有一個重疊的小區域,它們解決了相同的問題域,但每個工具的作用遠不止於此,如果您想要/需要該附加功能,那麼該包應該使用。
這太寬了。 – 2013-04-22 18:30:25
** plyr **不會(通常)比** data.table **更快。有些人(比如我自己)發現前者的語法比後者更直觀和可讀。但那只是一個主觀選擇。 – joran 2013-04-22 18:30:55
@Arun thx,我會看看這些功能。 'plyr'對'data.frame'做的更好嗎? – eddi 2013-04-22 18:40:14