2017-05-04 6 views

答えて

0

それが速くなる場合、私は知らないが、あなたのようdplyrからdistinctを使用することができます別のオプションは(もdplyrから)group_byを使用することです

df %>% distinct(x)

df %>% group_by(x)

0

data.tableパッケージを確認してください。ここではあなたが何ができるかです:

set.seed(1) 
df <- data.frame(col1 = sample(x = 5000, size = 1e6, replace = TRUE), 
       col2 = sample(x = 5000, size = 1e6, replace = TRUE)) 
dt <- copy(df) 
setDT(dt) #here you convert a data.frame object into a data.table one by reference 

unique(dt) 

我々はmicrobenchmarkパッケージを使用してタイムゲインを確認することができます。

microbenchmark(unique(df), unique(dt)) 

# Unit: milliseconds 
#  expr  min   lq  mean median  uq  max neval 
# unique(df) 1028.92260 1285.39321 1410.4072 1405.7486 1543.1486 1857.4901 100 
# unique(dt) 83.11946 98.41596 148.0874 119.0889 155.0679 507.4944 100