如何在R中将重置为0的情况下执行累加?

南拉塔·高斯瓦米(Narrata Goswami)

我有一张表,我想获取一个组内的累积总和(按ID),但是如果该组内任一点的计数器为0,则应重置累积计数,然后从1开始重新累积计数。

ID  Counter  Cumulative       
A  1         1
A  0         0              
A  1         1                
A  1         2                
B  1         1                 
B  0         0                
B  1         1    
罗纳克·沙

创建一个临时组列,以在每次遇到0时创建一个新组。

library(dplyr)

df %>%
  group_by(ID, grp = cumsum(Counter == 0)) %>%
  mutate(Cumulative = cumsum(Counter)) %>%
  ungroup() %>%
  select(-grp) -> result

result

#  ID    Counter Cumulative
#  <chr>   <int>      <int>
#1 A           1          1
#2 A           0          0
#3 A           1          1
#4 A           1          2
#5 B           1          1
#6 B           0          0
#7 B           1          1

可以在R和R中实现相同的逻辑data.table

df$Cumulative <- with(df, ave(Counter, ID, cumsum(Counter == 0), FUN = cumsum))

library(data.table)
setDT(df)[, Cumulative := cumsum(Counter), .(ID, cumsum(Counter == 0))]

数据

df <- structure(list(ID = c("A", "A", "A", "A", "B", "B", "B"), Counter = c(1L, 
0L, 1L, 1L, 1L, 0L, 1L)), class = "data.frame", row.names = c(NA, -7L))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不重置的情况下更新值?

来自分类Dev

默认情况下,如何在枚举中将元素评估为它们的值?

来自分类Dev

如何在Django中将文件定义为模型的情况下将其作为表单域输入?

来自分类Dev

在没有cURL的情况下,如何在AppleScript中将变量设置为网站的来源?

来自分类Dev

在bootstrap中如何在不累加行的情况下增加边框?

来自分类Dev

如何在不产生写入的情况下评估累加器?

来自分类Dev

单击后如何在不刷新页面的情况下如何使on('click')重置为onload状态?

来自分类Dev

如何在不退出R的情况下从终端执行R一线?

来自分类Dev

如何在不删除分支的情况下将分支重置为另一个分支的基础

来自分类Dev

Glimmer.js如何在不使用构造函数的情况下将跟踪的属性重置为初始值

来自分类Dev

如何在不看屏幕的情况下将xcalib对比度重置为默认值?

来自分类Dev

如何在错误值为0的情况下应用vlookup并恢复

来自分类Dev

如何在不将公式更改为值的情况下隐藏公式输出为 0 的列

来自分类Dev

如何在不删除R中存在NA的行的情况下执行聚类

来自分类Dev

如何在R中没有排列的情况下执行DF的两列的交互?

来自分类Dev

如何在没有sudo的情况下执行'iftop'

来自分类Dev

如何在没有警告的情况下执行resolvconf?

来自分类Dev

如何在不重置路由器堆栈的情况下重置页面?

来自分类Dev

如何在R中条件为TRUE的情况下返回值

来自分类Dev

如何在不将margin设置为0的情况下从window.print()中删除页眉和页脚?

来自分类Dev

如何在不添加其他tspan的情况下重置SVG tspan定位

来自分类Dev

如何在不重置刻度文本属性的情况下转换D3轴?

来自分类Dev

如何在不重置整个键映射的情况下删除单个临时键映射?

来自分类Dev

如何在不关闭浏览器的情况下重置其状态?

来自分类Dev

如何在没有Java脚本的情况下重置primefaces commandButton的下拉菜单?

来自分类Dev

使用CLIPS时如何在不重置的情况下运行剪辑

来自分类Dev

如何在不重新创建新实例的情况下重置实例类的成员?

来自分类Dev

如何在React中不重置旧类的情况下添加新类

来自分类Dev

如何在不清除预先填充的数据的情况下重置Angular反应形式?

Related 相关文章

  1. 1

    如何在不重置的情况下更新值?

  2. 2

    默认情况下,如何在枚举中将元素评估为它们的值?

  3. 3

    如何在Django中将文件定义为模型的情况下将其作为表单域输入?

  4. 4

    在没有cURL的情况下,如何在AppleScript中将变量设置为网站的来源?

  5. 5

    在bootstrap中如何在不累加行的情况下增加边框?

  6. 6

    如何在不产生写入的情况下评估累加器?

  7. 7

    单击后如何在不刷新页面的情况下如何使on('click')重置为onload状态?

  8. 8

    如何在不退出R的情况下从终端执行R一线?

  9. 9

    如何在不删除分支的情况下将分支重置为另一个分支的基础

  10. 10

    Glimmer.js如何在不使用构造函数的情况下将跟踪的属性重置为初始值

  11. 11

    如何在不看屏幕的情况下将xcalib对比度重置为默认值?

  12. 12

    如何在错误值为0的情况下应用vlookup并恢复

  13. 13

    如何在不将公式更改为值的情况下隐藏公式输出为 0 的列

  14. 14

    如何在不删除R中存在NA的行的情况下执行聚类

  15. 15

    如何在R中没有排列的情况下执行DF的两列的交互?

  16. 16

    如何在没有sudo的情况下执行'iftop'

  17. 17

    如何在没有警告的情况下执行resolvconf?

  18. 18

    如何在不重置路由器堆栈的情况下重置页面?

  19. 19

    如何在R中条件为TRUE的情况下返回值

  20. 20

    如何在不将margin设置为0的情况下从window.print()中删除页眉和页脚?

  21. 21

    如何在不添加其他tspan的情况下重置SVG tspan定位

  22. 22

    如何在不重置刻度文本属性的情况下转换D3轴?

  23. 23

    如何在不重置整个键映射的情况下删除单个临时键映射?

  24. 24

    如何在不关闭浏览器的情况下重置其状态?

  25. 25

    如何在没有Java脚本的情况下重置primefaces commandButton的下拉菜单?

  26. 26

    使用CLIPS时如何在不重置的情况下运行剪辑

  27. 27

    如何在不重新创建新实例的情况下重置实例类的成员?

  28. 28

    如何在React中不重置旧类的情况下添加新类

  29. 29

    如何在不清除预先填充的数据的情况下重置Angular反应形式?

热门标签

归档