gpt4 book ai didi

r - 在 r 中按时间分组的累积计数

转载 作者:行者123 更新时间:2023-12-02 16:10:12 27 4
gpt4 key购买 nike

我知道这可能是一个简单的操作,但我找不到解决方案。我知道它应该是某种形式的 group_by 和 sum 或 cumsum,但我不知道怎么做。我想随着时间的推移按组绘制某物的累积计数。我每组和时间有多行需要计算(以及一些缺失的数据)。我的数据集看起来有点像这样

df <- data.frame(group = c("A","A","A","A","B","B","B","C","C","C","C","C"),
time = c(1,1,2,3,1,2,2,1,2,2,3,3))

我想要这个结果:

group time count
A 1 2
A 2 3
A 3 4
B 1 1
B 2 3
C 1 1
C 2 3
C 3 5

我通常使用 dplyr,但我对 base R 也很满意。我该怎么做?

最佳答案

您可以使用以下解决方案:

library(dplyr)

df %>%
group_by(group, time) %>%
add_count() %>%
distinct() %>%
group_by(group) %>%
mutate(n = cumsum(n))

# A tibble: 8 x 3
# Groups: group [3]
group time n
<chr> <dbl> <int>
1 A 1 2
2 A 2 3
3 A 3 4
4 B 1 1
5 B 2 3
6 C 1 1
7 C 2 3
8 C 3 5

关于r - 在 r 中按时间分组的累积计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68226814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com