我正在尝试根据一系列列对R data.table进行分组。 到目前为止没有成功。有什么简单的方法可以做到吗?
示例:
library(data.table)
id <- c(1:1000)
x1 <- sample(1:10, 1000, replace=T)
x2 <- sample(1:10, 1000, replace=T)
x3 <- sample(1:10, 1000, replace=T)
x4 <- sample(1:10, 1000, replace=T)
x5 <- sample(1:10, 1000, replace=T)
df<-data.frame(id,x1,x2,x3,x4,x5)
dt<-data.table(df)
dt[,.N,by=list(x1,x2,x3,x4,x5)]
现在我想使用像
这样的东西dt[,.N,by=list(x1:x5)]
但它当然不起作用。 我是否想念一个相对简单的方法解决这个问题?
答案 0 :(得分:3)
我们可以使用paste0()
:
dt[, .N, by = c(paste0("x", 1:5))]