如何按多列对data.table进行分组?

2024-03-20

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

我很好奇是否有一种方法可以按多个列进行分组。我的数据如下所示:

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

我可以做这样的事情:

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

获取每个广告的中位数。我将如何做一些结合的事情adShown and url?

我试过这个:

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

但没有运气。

有什么建议么?


Use by=list(adShown,url)代替by=c("adShown","url")

Example:

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按多列对data.table进行分组? 的相关文章

  • 获取所有参数作为列表

    R 是否提供对象 函数 方法 关键字来获取所有函数参数 使用一个例子 function a b default 会提供a and b也 在函数环境内 有没有类似的说法list 这还包括a and b在结果中 或者换一种方式 简写list a
  • 递归累积函数

    我需要在 R 中编写一个累积求和函数 但我一直碰壁 该函数具有以下结构 a x1 a x2 a 2 x1 a x3 a 2 x2 a 3 x1 a x4 a 2 x3 a 3 x2 a 4 x1 等等 cumsum 似乎不适用于此类功能 有
  • R 中的聚类分析:确定最佳聚类数

    如何选择最佳的聚类数量来进行 k 均值分析 绘制以下数据的子集后 多少个簇比较合适 如何进行聚类树突分析 n 1000 kk 10 x1 runif kk y1 runif kk z1 runif kk x4 sample x1 lengt
  • 为什么 as.character() 返回日期列表中的整数?

    我惊讶地发现 R 中出现以下行为 as character c Sys Date gt 1 2018 02 05 as character list Sys Date gt 1 17567 为什么会出现这种情况 也就是说 显然 17567
  • 使用 ggplot 未完全填充等值线图

    我正在尝试使用以下方法绘制我的第一个填充等高线图ggplot 根据我的数据 我期待类似的结果 但我的结果是 a lt c 1 1 1 1 1 3 1 2 2 2 2 2 2 5 2 1 3 3 3 3 1 3 2 b lt c rep c
  • R源代码.调用函数[重复]

    这个问题在这里已经有答案了 我正在查看R中cov的source code 并遇到了一段我不太明白的代码 协方差的数学定义goes http en wikipedia org wiki Covariance here if method pe
  • 用于不规则时间序列的滚动窗口函数,可以处理重复项

    我有以下数据框 grp nr yr 1 A 1 0 2009 2 A 2 0 2009 3 A 1 5 2009 4 A 1 0 2010 5 B 3 0 2009 6 B 2 0 2010 7 B NA 2011 8 C 3 0 2014
  • 获取行名以 ABC111 开头的所有行

    我们有以下数据框 col1 col2 col3 ABC111001 12 12 13 ABC111002 3 4 5 ABC000111 7 6 1 ABC000112 9 23 1 如何获取行名以 开头的所有行ABC111 如下 ABC1
  • R:install.packages 中出现错误:无法打开连接

    我试图安装 RINDSEL 包 但无法安装它 并且不断收到以下错误 install packages 中出错 无法打开连接 我从以下位置下载了该软件包 rindsel 1 0 2 zip 综合养殖平台 http old ibpdev net
  • 如何在主图区域之外的 ggplot2 中添加多个标题

    我想为页脚添加两个标题 但 ggplot 似乎只需要 1 是否有解决方法可以将注释或 geom text 添加到左下角和右下角 library ggplot2 p lt ggplot mtcars aes x wt y mpg geom p
  • 如何在 R 树形图中省略标签?

    我一直在使用R 树形图包 http cran r project org web packages treemap treemap pdf我有一个 2 层深的树形图 我希望打印第二级标签 但不打印第一级标签 使用手册页中的示例 tmPlot
  • 为什么 data.table `:=` 的 knit 缓存失败?

    这在精神上与this https stackoverflow com q 15267018 1900520问题 但机制上一定不同 如果您尝试缓存knitr包含一个块data table 分配然后它的行为就好像该块尚未运行 并且后面的块看不到
  • dmvnorm MVN 密度 - RcppArmadillo 实现比 R 包慢,包括一些 Fortran

    The solution现已上线RCPP画廊 http gallery rcpp org articles dmvnorm arma 我从 RcppArmadillo 中的 mvtnorm 包重新实现了 dmvnorm 我有点喜欢犰狳 但我
  • mclapply 调用应该嵌套吗?

    正在筑巢parallel mclapply是个好主意吗 require parallel ans lt mclapply 1 3 function x mclapply 1 3 function y y x unlist ans Outpu
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 使用 gtable 排列 ggplot 绘图(具有相同宽度的 grobs)以创建 2x2 布局

    我正在尝试使用 grobs 和 gtable 将 4 个 ggplot2 图排列成 2x2 网格 我不知道如何设置宽度 也不知道如何设置非 1xn 或 nx1 排列 使用此代码 data iris a lt ggplot iris aes
  • 如何管理和处理 R 包中的补充数据

    我想在我的 R 包中添加补充数据 我知道关于LazyData true in DESCRIPTION 但不想使用它 因为示例数据相当大 所以我创建了一个目录 data 其中包含两个 RData文件和一个datalist 我添加使用tools
  • 根据另一个向量替换向量中的值

    我想替换向量中的值 x 与另一个向量 y 陷阱 22 方法需要是动态的 以适应向量中不同数量的 级别 x 例如 考虑向量x x lt sample c 1 2 3 4 5 100 replace TRUE gt x 1 2 4 1 1 3
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • 如何融合颜色和形状?

    当我有一个超过 6 个值的变量时 我的麻烦就开始了 因为这是 ggplot2 中 scale shape 函数的当前最大值 由于这个问题 我尝试使用另一个变量来解决这个问题 我只是将原始变量的长度包裹起来 这是我的示例代码 dataf lt

随机推荐