套件 data.table 在這時就會相當有用,
使用 setDT(df) 即可將 data frame 轉成 data table,
如我想轉回原本 data frame格式,
就使用 setDF(df) 即可。
以下範例就可看出,
同樣是針對資料集作 unique ,
針對data table處理的速度大致比針對data frame處理快了73倍。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
沒有留言:
張貼留言