dplyr使用累积方法按组汇总

89_Simple

我有一个这样的data.frame

dat <- data.frame(id = rep(1:4, each = 4),
                  x = 1:16,
                  y = 16:1)

library(dplyr)

我想对每个对象执行以下操作 id

for id 1, do mean(x)/mean(y), 
for id 2, do mean(x)/mean(y) where x and y includes values from id 1 and 2 
for id 3, do mean(x)/mean(y) where x and y includes values from id 1, 2 and 3 
for id 4, do mean(x)/mean(y) where x and y includes values from id 1, 2, 3 and 4 

我做了一个传统的for循环来做到这一点

temp.vec <- list()
for(l in sort(unique(dat$id))){
  
  temp.vec[[l]] <- dat %>% 
                   dplyr::filter(id <= l) %>%
                   dplyr::summarise(value = mean(x)/mean(y)) 
  print(l)
}

result <- rbindlist(temp.vec)
result 
value
1: 0.1724138
2: 0.3600000
3: 0.6190476
4: 1.0000000

我可以使用dplyr吗?

dat %>%
  group_by(id) %>%
  summarise(mean_x = mean(x), mean_y = mean(y)) %>%
  mutate(result = cumsum(mean_x) / cumsum(mean_y)) %>%
  pluck("result")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

如何在R中使用dplyr按组进行汇总并获得总体数据集的摘要

来自分类Dev

使用dplyr将组汇总为间隔

来自分类Dev

使用R和dplyr执行累积组操作

来自分类Dev

使用R按组计算累积标准偏差

来自分类Dev

使用dplyr按组获取累计计数

来自分类Dev

使用dplyr按组计算每个块?

来自分类Dev

如何使用dplyr按组进行子集

来自分类Dev

使用dplyr按组计算平均时差

来自分类Dev

使用 dplyr 按组创建子集

来自分类Dev

如何使用dplyr汇总与组不匹配的值

来自分类Dev

使用dplyr按周数据分组并按月汇总

来自分类Dev

按组汇总数据

来自分类Dev

熊猫按组汇总排序

来自分类Dev

Rails:按组汇总列

来自分类Dev

dplyr中每个组的r累积

来自分类Dev

将帧作为函数传递时,无法按dplyr中的组汇总变量

来自分类Dev

使用mysql获取汇总汇总每个组和按元素排序

来自分类Dev

使用mysql获取汇总汇总每个组和按元素排序

来自分类Dev

使用dplyr的条件累积总和

来自分类Dev

当我尝试使用dplyr按组求和时,为什么dplyr忽略了我的组?

来自分类Dev

熊猫组按每个连续组的累积总和

来自分类Dev

使用dplyr在R中按组计算统计检验

来自分类Dev

使用dplyr按组更改变量值

来自分类Dev

使用dplyr按组连接字符串

来自分类Dev

使用dplyr的sample_n函数按组进行采样

来自分类Dev

按组查找插值,也许使用dplyr

来自分类Dev

使用dplyr在特定组中按变量拆分