为什么data.tables的mutate(row_number())失败?
当我试图在data.table上使用为什么data.tables的mutate(row_number())失败?,r,data.table,dplyr,R,Data.table,Dplyr,当我试图在data.table上使用dplyr中的row\u 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,
dplyr
中的row\u 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
库(dplyr)
库(数据表)
我的%mutate(行号())
#排名错误(x,ties.method=“first”,na.last=“keep”):
#缺少参数“x”,没有默认值
知道为什么会发生这种情况吗?函数的
dplyr::row_number()
必须包含一个参数,该参数应该是要为其设置行号的列的名称
在您的示例中,您应该这样写:
library(dplyr)
library(data.table)
mine <- data.table(a = 1:10) %>%
mutate(row_number(a))
我希望这能有所帮助。将其转换为
tbl\u df
并有效,即mine%>%tbl\u df%>%mutate(rn=row\u number())
为什么不使用data.table
方法来处理data.table
?这可能是一个bug..看起来像一个。如果你使用数据表
,为什么不在当前的devel版本(1.9.7)中使用mine[,row\u number:=.I]
mine[,row\u编号:=1.N,by=group]
,我想dtplyr包应该能处理这个问题。如果没有,可能会引发问题
library(dplyr)
library(data.table)
library(tibble)
mine <- data.table(a = 1:10) %>%
rowid_to_column()