r - 使用 dplyr 计算时间戳上的累积和

标签 r dplyr tidyverse

我正在尝试计算一段时间内的累积总和。有没有办法在一步内计算这个?有什么套餐推荐吗?

activate_2019 <- activate_rate %>% 
  filter(
    grepl("2019", join_day)
  ) %>% 
  summarize(
    proportion = sum(if_activate) /n()
  ) 
activate_2020 <- activate_rate %>% 
  filter(
    grepl("2019|2020", join_day)
  ) %>% 
  summarize(
    proportion = sum(if_activate) /n()
  ) 
activate_2021 <- activate_rate %>% 
  filter(
    grepl("2019|2020|2021", join_day)
  ) %>% 
  summarize(
    proportion = sum(if_activate) /n()
  ) 

最佳答案

这是一种使用 tidyverse 的方法

  1. 从“join_day”列中提取唯一year`
  2. 循环这些,根据“join_day”中循环的“年份”的匹配对 active_rate 中的行进行切片
  3. 通过取“if_activate”的平均值进行总结
  4. 使用_dfc绑定(bind)输出,即map中的列绑定(bind)
library(stringr)
library(dplyr)
library(purrr)
un1 <- str_extract_all(activate_rate$join_day, "\\d{4}") %>%
    unlist %>%
    unique %>%
    as.integer %>%
    sort

map_dfc(un1, ~ activate_rate %>%
              arrange(as.Date(join_day)) %>%
              slice(seq(max(grep(as.character(.x), join_day)))) %>%
              sumarise(!!str_c("proportion", .x) := mean(if_activate)))

关于r - 使用 dplyr 计算时间戳上的累积和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68040015/

相关文章:

r - 如何在列名中间按字符折叠数据框列?

r - 在长数据集中添加两个分类变量的行?

r - 使用 dplyr 和 tidyverse 通过时间汇总总和

r - 如何将JPEG转换为R中的图像矩阵

r - 如何在 R 中获得详细的表格列表?

R:对几个单独的图重新排序因子水平

r - 使用带有段错误错误的汇总时 dplyr 崩溃

r - R中的for循环问题

r - R在哪里存储数据

r - dplyr group_by 逻辑值