我使用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")]

但运气不好.

有什么建议吗?

推荐答案

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


     X Y Z      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

R相关问答推荐

返回句子中最长的偶数长单词

如何以编程方式将X轴勾号上的希腊符号合并到R图中?

是否有R代码来判断一个组中的所有值是否与另一个组中的所有值相同?

保存shiny 的代码嗅探器:避免$ Symbol问题

对lme 4对象运行summary()时出错(diag中的错误(from,names = RST):对象unpackedMatrix_diag_get找不到)

行式dppr中的变量列名

更改默认系列1以更改名称

整数成随机顺序与约束R?

我正在努力用R计算数据集中的中值逐步距离

使用范围和单个数字将数字与字符串进行比较

使用Scale_*_MANUAL时在图例中保留未使用的系数级别

如何将Which()函数用于管道%>;%

将箭头绘制在图形外部,而不是图形内部

如何在PDF格式的kableExtra表格中显示管道字符?

将项粘贴到向量中,并将它们分组为x的倍数,用空格分隔

当每个变量值只能 Select 一次时,如何从数据框中 Select 两个变量的组合?

使用列中的值来调用函数调用中应使用的其他列

数值型数据与字符混合时如何进行绑定

网络抓取新闻标题和时间

我需要使用ggplot2制作堆叠条形图