如何将data.table分组成多个列?

我正在使用data.table包加速数据集上的汇总统计信息收集。

我很好奇,如果有一种方法可以由多个列组成。 我的数据如下所示:

  purchaseAmt adShown url 15.54 00001 150000001 4.82 00002 150000001 157.99 05005 776300044 ... ... ... 

我可以做这样的事情:

 adShownMedian <- df1[,median(purchaseAmt),by="adShown"] 

得到每个广告的中位数。 我将如何做一些结合adShownurl

我试过这个:

 adShownMedian <- df1[,median(purchaseAmt),by=c("adShown","url")] 

但没有运气。

有什么build议么?

使用by=list(adShown,url)而不是by=c("adShown","url")

例:

 set.seed(007) DF <- data.frame(X=1:20, Y=sample(c(0,1), 20, TRUE), Z=sample(0:5, 20, TRUE)) library(data.table) DT <- data.table(DF) DT[, Mean:=mean(X), by=list(Y, Z)] XYZ Mean 1: 1 1 3 1.000000 2: 2 0 1 9.333333 3: 3 0 5 7.400000 4: 4 0 5 7.400000 5: 5 0 5 7.400000 6: 6 1 0 6.000000 7: 7 0 3 7.000000 8: 8 1 2 12.500000 9: 9 0 5 7.400000 10: 10 0 2 15.000000 11: 11 0 4 14.500000 12: 12 0 1 9.333333 13: 13 1 1 13.000000 14: 14 0 1 9.333333 15: 15 0 2 15.000000 16: 16 0 5 7.400000 17: 17 1 2 12.500000 18: 18 0 4 14.500000 19: 19 1 5 19.000000 20: 20 0 2 15.000000