[英]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.