dplyr group_by 和 cummean 函数

2024-02-11

我期望下面的代码输出一个包含三行的数据框,每行代表计算每组平均值后的 mpg 累积平均值cyl:

library(dplyr)
mtcars %>%
arrange(cyl) %>%
group_by(cyl) %>%
summarise(running.mean.mpg = cummean(mpg))

这就是我期望发生的事情:

mean_cyl_4 <- mtcars %>% 
filter(cyl == 4) %>%
summarise(mean(mpg))

mean_cyl_4_6 <- mtcars %>% 
filter(cyl == 4 | cyl == 6) %>%
summarise(mean(mpg))

mean_cyl_4_6_8 <- mtcars %>% 
filter(cyl == 4 | cyl == 6 | cyl == 8) %>%
summarise(mean(mpg))

data.frame(cyl = c(4,6,8), running.mean.mpg = c(mean_cyl_4[1,1], mean_cyl_4_6[1,1], mean_cyl_4_6_8[1,1]))

  cyl running.mean.mpg
1   4     26.66364
2   6     23.97222
3   8     20.09062

怎么会dplyr似乎忽略group_by(cyl)?


require("dplyr")

mtcars %>%
  arrange(cyl) %>%
  group_by(cyl) %>%
  mutate(running.mean.mpg = cummean(mpg)) %>%
  select(cyl, running.mean.mpg)

# Source: local data frame [32 x 2]
# Groups: cyl
# 
# # cyl running.mean.mpg
# # 1    4         22.80000
# # 2    4         23.60000
# # 3    4         23.33333
# # 4    4         25.60000
# # 5    4         26.56000
# # 6    4         27.78333
# # 7    4         26.88571
# # 8    4         26.93750

为了进行实验,这也适用于data.table。 我的意思是,你还必须加载 dplyr 才能cummean()可用的。

require("data.table")
DT <- as.data.table(mtcars)
DT[,j=list(
  running.mean.mpg = cummean(mpg)
  ), by="cyl"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dplyr group_by 和 cummean 函数 的相关文章

  • 使用 kableExtra 增加行/行间距

    有没有办法在 r markdown 或 bookdown 中使用 kableExtra 增加 pdf 输出的行间距 library knitr library kableExtra kable head iris 5 caption Iri
  • 如果在循环中调用summary()命令,如何获得它的输出?

    Suppose Z是特征名称的向量 如何让以下 Rscript 中的摘要命令实际打印 for var in Z cat i form paste crim var lm fit lm form data Boston summary lm
  • 聚合时间

    我的数据包含 1 分钟测量值 我希望将其聚合为 5 分钟和 10 分钟 如何在 10 分钟内将 日 列的数据分组为 5 样本数据2 structure list Day c Monday Monday Monday Monday Monda
  • spplot 的图例范围和颜色分布问题

    我的绘图和图例中的颜色范围是否正确存在问题 这是我使用的代码 data ch4 lt read csv2 v42 CH4 1970 TOT txt skip 3 stringsAsFactors FALSE header F num dat
  • 成对散点图;一对多[重复]

    这个问题在这里已经有答案了 有没有一种简洁的方法来创建pairs仅将一个变量与许多其他变量进行比较的图 换句话说 我可以只绘制标准的一行或一列吗 pairs不使用循环的散点图矩阵 融化你的数据 然后使用带有facet的ggplot libr
  • 在ggplot2中绘制大多边形地图的小区域

    我有一个 shapefile 我使用它在 ggplot2 中进行了强化和绘制geom polygon 我怎样才能只绘制这张地图的一小部分区域 我的完整地图看起来不错 但我的小区域很混乱 这是一个工作示例 这个小形状文件可以从以下位置获得 h
  • 难以理解 R 中双括号和单括号子集之间的区别[重复]

    这个问题在这里已经有答案了 我很难理解双括号子集和单括号子集之间的区别 我在开源编程方面相当陌生 我很难理解 R 中的 help 函数 因为考虑到我目前对 R 的理解 其中的一些信息对我来说太技术性了 我尝试过谷歌搜索差异 虽然它给了我一个
  • 如何绘制对数似然函数图

    我想绘制 pi 和 pi 之间的对数似然函数 对数似然函数 llh lt function teta x sum log 1 cos x teta 2 pi x c 3 91 4 85 2 28 4 06 3 70 4 04 5 46 3
  • 使用 by 参数连接 data.table

    我有两个数据表dx and dy dx lt data table a c 1 1 1 1 2 2 b 3 8 dy lt data table a c 1 1 2 c 7 9 我要参与dy到每一行dx 下面是所需的输出 data tabl
  • 在 R 中编写多重积分函数

    为了将以下内容转换为函数 我想知道如何用 R 代码编写以下二重积分 bar x mu 假设pi0 and pi1以向量化方式实现函数 pi 0 和 pi 1 可能的解决方案是 integral lt function n mu s pi0
  • 在R中使用plotly在轴标题中换行和下标

    我刚开始使用plotly对于 R 中的一些交互式散点图 并且在轴标签上遇到困难 通常我设计我的情节ggplot2然后使用ggplotly函数来转换它们 但这有时由于某种原因非常慢 所以我想直接在中创建我的图plotly 我现在尝试更改轴标题
  • 有什么方法可以访问 makeActiveBinding 安装的函数吗?

    标题基本上说明了一切 如果我这样做 makeActiveBinding x function runif 2 GlobalEnv x 1 0 7332872 0 4707796 x 1 0 5500310 0 5013099 那我有什么办法
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • 如何为 nls 函数找到良好的起始值?

    我不明白为什么我不能对这些数据使用 nls 函数 我尝试过很多不同的起始值 但总是出现相同的错误 这是我一直在做的事情 expFct2 function x a b c a 1 exp x b c vec x lt c 77 87 87 7
  • 列表列表中出现的频率

    我有一个列表列表 其中每个列表都已排序 我想调查的是某个元素在特定位置出现了多少次 例如 pnc 曾两次出现在第二位 一次出现在第三位 我的数据结构如下 dput degree l list c schwab 0 pnc 0 0344827
  • 使用 ggplot 将条形图的列与线图的点对齐

    当线图的点与条形图的条具有相同的 x 轴时 有什么方法可以使用 ggplot 将它们对齐 这是我尝试使用的示例数据 library ggplot2 library gridExtra data data frame x rep 1 27 e
  • R 中自定义函数的等高线图

    我正在使用一些自定义函数 我需要根据参数的多个值为它们绘制轮廓 这是一个示例函数 我需要画这样的等高线图 任何想法 Thanks 首先你构造一个函数 fourvar它将这四个参数作为参数 在这种情况下 您可以使用 3 个变量来完成此操作 其
  • R 中带有变音符号的字符列表

    我试图将字符串中的电话 字符 出现次数制成表格 但变音符号单独作为字符制成表格 理想情况下 我有一个国际音标的单词列表 其中包含大量变音符号以及它们与基本字符的几种组合 我在这里给出了仅包含一个单词的 MWE 但对于单词列表和更多类型的组合
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a
  • 有条件地将字符串转换为特定数值

    我确信对此有一个简单的答案 但我已经扫描了堆栈溢出 但无法找到解决方案 似乎 sapply 和 ifelse 函数的组合可能可以完成这项工作 但我不确定 所以我有一个包含字符的数据框 除了一列是数值 Create dataframe whi

随机推荐