[R] 使用data.table使處理資料變更快速(以unique為例)

有些時候在處理很大的data frame時會相當緩慢,
套件 data.table 在這時就會相當有用,
使用 setDT(df) 即可將 data frame 轉成 data table,
如我想轉回原本 data frame格式,
就使用 setDF(df) 即可。
以下範例就可看出,
同樣是針對資料集作 unique 
針對data table處理的速度大致比針對data frame處理快了73倍。

library(data.table)
##Generate a big data frame.
n <- 10000000
df <- data.frame(matrix(rnorm(n), nrow=n/2))
system.time(tmp <- unique(df))
##user system elapsed
##58.58 0.18 60.91
setDT(df)
system.time(tmp <- unique(df))
##user system elapsed
##0.75 0.08 0.83
setDF(df)

Related Posts:

沒有留言:

張貼留言