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)