R data.table group by列范围

时间:2016-03-23 09:02:55

标签: r data.table

我正在尝试根据一系列列对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)]  

但它当然不起作用。 我是否想念一个相对简单的方法解决这个问题?

1 个答案:

答案 0 :(得分:3)

我们可以使用paste0()

dt[, .N, by = c(paste0("x", 1:5))]