【发布时间】:2020-09-26 14:31:17
【问题描述】:
我有几列,每一列都有事例数,另一列有累计事例数,另一列对应分组变量。我想创建一个额外的列,在案例数量连续两次增加后开始计数。
示例链接:http://www.filedropper.com/teste_6
查看文件,对于医院 A,柜台应从第 60 行开始,累计病例为 5,7 和 10 以及病例 3,2 和 3。对于医院 B,柜台应从第 223 行和医院 C 377 开始。
我不确定如何在连续两次增加后创建计数器。我应该创建一个循环并比较以前的值还是有更简单的方法来实现这一点?
我创建了一个从 1 开始但不是在连续两次增加之后的计数器:
cumulative <- dataset %>%
group_by(hosp) %>%
mutate(cum_cases = cumsum(cases)) %>%
mutate(counter_cases = cumsum(cummax(cases > 0)))
【问题讨论】:
-
如何获得 B 组的
1,2? -
嗯,这正是问题所在。如何获得在连续两次增加后开始计数的计数器?虽然 B 会更简单,但
counter_cases适用于 B,但不适用于更困难的 C。 -
B 组的
counter不应该全为零,因为它只有两个值吗? -
仍然,B 组和 C 组之间存在差异,即使它们在每一步都增加。在这种情况下,您希望在开始计数器之前只有 1 个零(如 B 组)还是 2 个零(如 C 组)?
-
我的意思是计数器从 B 组的第二行开始,在 C 组的第三行开始,即使在组内我们总是有一些增加
cases。跨度>