简体   繁体   English

R data.table按列范围分组

[英]R data.table group by range of columns

I am trying to group the R data.table according to a range of columns. 我正在尝试根据列的范围对R data.table进行分组。 Without success so far. 到目前为止没有成功。 Is there any easy way how to do it? 有什么简单的方法吗?

Example: 例:

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)]

Now I would like to use something like 现在我想使用类似

dt[,.N,by=list(x1:x5)]  

but it, of course, does not work. 但它当然不起作用。 Do I miss a relatively simple approach to this problem? 我想念一个相对简单的方法来解决这个问题吗?

我们可以使用paste0()

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM