相关疑难解决方法(0)

dplyr中的唯一行:rowbumber()从tbl_dt与tbl_df不一致

en bref:

我想知道如何从工作流data.table的某个地方获取唯一的行dplyr.从v0.2开始我可以使用row_number==1(参见: 使用dplyr删除重复的行)

但!

tbl_df(data) %>% group_by(Var1,Var2) %>% filter(row_number() == 1) 作品.

tbl_dt(data) %>% group_by(Var1,Var2) %>% filter(row_number() == 1)没有.这是一个错误吗?

建立:

library(dplyr)
library(data.table)
library(microbenchmark)

little <- expand.grid(rep(letters,121),rep(letters,121)) # my 10M row dataset.
tbl_dt(little) %>% group_by(Var1,Var2) %>% filter(row_number() == 1)
Run Code Online (Sandbox Code Playgroud)

结果:

> Error in rank(x, ties.method = "first") : 
> argument "x" is missing, with no default
Run Code Online (Sandbox Code Playgroud)

这就是我实际上发现它被打破的方式.我在问:

这样或那样?

我可以使用这个unique.data.table方法:

 dt_u <- function() {
           tbl_dt(little) %>% 
           group_by(Var1,Var2) …
Run Code Online (Sandbox Code Playgroud)

performance r dplyr

8
推荐指数
1
解决办法
7849
查看次数

标签 统计

dplyr ×1

performance ×1

r ×1