【发布时间】:2016-02-15 20:06:48
【问题描述】:
当我尝试在 data.table 上使用 dplyr 中的 row_number() 时,会引发错误。这是一个例子:
library(dplyr)
library(data.table)
mine <- data.table(a = 1:10)
mine %>% mutate(row_number())
# Error in rank(x, ties.method = "first", na.last = "keep") :
# argument "x" is missing, with no default
任何想法为什么会发生这种情况?
【问题讨论】:
-
将其转换为
tbl_df即可,即mine %>% tbl_df %>% mutate(rn= row_number())为什么不对data.table使用data.table方法?这可能是一个错误.. -
好像是known issue。
-
如果你使用
data.table's,为什么不用mine[, row_number := .I] -
mine[, row_number := 1:.N, by = group] -
@Jaap 或
mine[, rowid(group)]在当前的开发版本(1.9.7)中。
标签: r data.table dplyr