根据累计和和组创建新组

2024-01-07

我希望根据两个条件创建一个新组。我希望在 Value 的累计总和达到 10 之前将所有案例分组在一起,并且我希望在每个人中完成此操作。我已经设法让它分别适用于每个条件,但不能同时使用 for 循环和 dplyr。但是,我需要同时应用这两个条件。下面是我希望数据看起来的样子(我不需要 RunningSum_Value 列,但我保留它是为了澄清)。理想情况下,我想要一个 dplyr 解决方案,但我并不挑剔。先感谢您!

ID     Value RunningSum_Value   Group
PersonA    1    1                 1
PersonA    3    4                 1
PersonA    10   14                1
PersonA    3    3                 2
PersonB    11   11                3
PersonB    12   12                4
PersonC    3    3                 5
PersonD    4    4                 6
PersonD    9    13                6
PersonD    5    5                 7
PersonD    11   16                7
PersonD    6    6                 8
PersonD    1    7                 8

这是我的数据:

df <- read.table(text="ID   Value
                 PersonA    1
                 PersonA    3
                 PersonA    10
                 PersonA    3
                 PersonB    11
                 PersonB    12
                 PersonC    3
                 PersonD    4
                 PersonD    9
                 PersonD    5
                 PersonD    11
                 PersonD    6
                 PersonD    1", header=TRUE,stringsAsFactors=FALSE)

定义函数sum0它做了一个sum其参数不同之处在于,每次达到 10 或更多时,它都会输出 0。定义函数is_start对于组的起始位置返回 TRUE,否则返回 FALSE。最后申请is_start每个 ID 组使用ave然后执行cumsum就可以得到组号。

sum0 <- function(x, y) { if (x + y >= 10) 0 else x + y }
is_start <- function(x) head(c(TRUE, Reduce(sum0, init=0, x, acc = TRUE)[-1] == 0), -1)
cumsum(ave(DF$Value, DF$ID, FUN = is_start))
## [1] 1 1 1 2 3 4 5 6 6 7 7 8 8

UPDATE: fix

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据累计和和组创建新组 的相关文章

  • 根据一个或多个下拉选项创建具有不同类型线型的折线图

    在下面闪亮的应用程序中 我尝试根据侧边栏中的下拉选择创建点线图 我已成功在选择一个指标时创建折线图 但无法选择 2 个指标 为了x and y我想要一个solid线 对于x1 and y1我想要一个dashed线和对于x2 and y2一条
  • 使用 Rgraphviz 中的 pos 参数来固定节点位置

    基于这个问题当弧与另一弧重叠时自动弯曲 https stackoverflow com questions 45721802 automatically curving an arc when it is overlapping with
  • 计算横截面积作为高度的函数

    我试图弄清楚如何计算不同水位的河流横截面的充满水的面积 对于横截面 我有 5 m 宽河流上每 25 cm 的深度 并且可以根据之前很好回答的问题来计算面积计算不同高度的横截面积 https stackoverflow com questio
  • 写入抓取数据的 csv 文件时如何拆分项目名称

    我有兴趣使用 R 从网上抓取的数据创建 csv 或类似的 Excel 兼容文件 到目前为止 我通过执行以下操作来存储数据 require textreadr spiegel lt read html http www spiegel de
  • 如何使用“downloadHandler”在闪亮的可反应内部创建下载按钮?

    我创建downloadlinksa 的行内reactable 我这样做是为了DT datatable and a reactable reactable 我还创建了相应的output downloadHandler在 ids 上使用 app
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4
  • 为什么表达式“1”==1 的计算结果为 TRUE? [复制]

    这个问题在这里已经有答案了 1 是字符值 其他1是数字 甚至 当我尝试在下面执行时 它给了我 TRUE as character 0 as numeric 0 谁能帮助我理解 为什么 来自help 如果两个参数是不同类型的原子向量 则其中一
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • R:适合显示具有倾斜计数的数据的图

    我有这样的数据 Name Count Object1 110 Object2 111 Object3 95 Object4 40 Object2000 1 因此 只有前 3 个物体的计数较高 其余 1996 个物体的数量少于 40 个 其中
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 如何从数据框中按降序获取前n家公司

    我正在尝试从数据框中获取排名前 n 的公司 下面是我的代码 data Forbes2000 package HSAUR sort Forbes2000 profits decreasing TRUE 现在我想从这个排序向量中获取前 50 个
  • R闪亮:基于checkboxgroupinput的子集数据

    我想根据复选框输入动态选择的列对数据进行子集 有什么方法可以使我的输入文件在我的代码中全局可用 以便可以方便地进行进一步的操作 以下是我的代码 Server R library shiny shinyServer function inpu
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 使用 xtable 对乳胶输出的表进行排序

    我正在尝试生成一个排序表并导出到乳胶中 然而 xtable 似乎无法处理排序表 建议 a lt sample letters 500 replace T b lt table a c lt sort table a decreasing T
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4
  • 使用 sprintf 打印换行符 - 有光泽

    我试图在打印时进行换行 这是我的代码 temp lt LETTERS 1 11 print sprintf Rank s s n 1 11 temp output 1 Rank 1 A n Rank 2 B n Rank 3 C n Ran
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • 如何在 R 中创建“堆叠瀑布”图表?

    I was able to find several packages to create a waterfall chart in R which look like this But I could not find a way to
  • 将 r 中的一列从出生日期更改为年龄

    我是第一次使用 data table 我的表中有大约 400 000 个年龄的列 我需要将它们从出生日期转换为年龄 做这个的最好方式是什么 我一直在思考这个问题 到目前为止对这两个答案都不满意 我喜欢用lubridate 就像 KFB 所做

随机推荐

  • 如何将样式(css+html)与php隔离

    我如何隔离样式 css questions tagged css html questions tagged html from php questions tagged php 就像在 php 文件中只放入一些行 包括整个内容style
  • 在unity 3D中更改Cubical Shower 3d模型的尺寸

    我正在开发一个项目 该项目有一个立方体淋浴作为 3D 模型 它有两个不同的侧面 如前面提到的侧面 1 和侧面 2 另外一侧 1 分为两个屏幕 并且具有玻璃 框架和支架 与一侧 1 的屏幕 2 相同 我想在不改变支撑宽度和框架尺寸的情况下增加
  • 无 BOM 的 UTF-8

    我有 javascript 文件 每次我将它们转换为正确的格式时 我需要将它们保存为 UTF 8 无 BOM 记事本 当我在 Visual Studio 中打开它们时 它们会恢复为带有 BOM 的 UTF 8 我怎样才能阻止VS2010这样
  • 如何使用 JQuery 将样式应用到正确的标签

    我正在尝试添加更多逻辑my code https stackoverflow com questions 38539500 get input value using htmlfor 但它不起作用 我必须将我的图标包裹在span标签 这样我
  • DatePicker 无法在模态中工作

    我有一个网站和这是一个链接 http pastebin com WHHMnh3S 当您单击文本字段时 您可以看到 DatePicker 正在工作 但如果你点击我mportFriend gt Add Manual Friend gt 然后 如
  • @FunctionalInterface 如何影响 JVM 的运行时行为?

    我最初的问题是完全重复的this one https stackoverflow com q 27121563 1093528 也就是说 为什么这个接口有运行时保留策略 但接受的答案根本不能令我满意 原因有二 事实上这个接口是 Docume
  • 对于同一个 REST 方法,我们是否可以有多个 @Path 注释 [重复]

    这个问题在这里已经有答案了 我们可以有多个吗 Path同一 REST 方法的注释 即执行的方法相同 但在访问多个 URL 时执行 例如 我想运行searchNames 两者的方法http a b c and http a b 你不能有多个
  • Xamarin 表单的 YouTube 播放器

    您好 我正在尝试在以下支持下创建一个从 webview 继承的 youtubeviewyoutube api https github com nishanil YouTubePlayeriOS blob master Classes Yo
  • 由于无法找到或加载主类错误,Flink 集群未启动

    我正在尝试设置flink并运行集群 尽管我得到以下输出 看起来集群已启动 bin start cluster sh Starting cluster Starting standalonesession daemon on host LAP
  • 使用 ExoPlayer 将 YouTube 直播视频 (DASH) 流式传输到 Android 应用程序

    我正在制作一个可以将实时 YouTube 视频流式传输到我的应用程序的应用程序 我想使用 ExoPlayer 我浏览了 ExoPlayer 的演示应用程序 他们在 DASH 流中使用的 URL 是这样的 uri http www youtu
  • 如何在 Python / Matplotlib 中根据特征值和特征向量绘制椭圆?

    给定一个二维数据集 我想在数据周围绘制一个椭圆 为此 我首先计算了协方差矩阵及其相关的特征值 cov np cov X T eigenvalues eigenvectors np linalg eig cov 我现在想使用 matplotl
  • Django REST Framework 序列化器 - 访问现有外键

    我在用Django 休息框架 http www django rest framework org api guide serializers在我的应用程序中 我需要创建包含外键的新模型实例 这些引用另一个表中的现有对象 因此我不希望创建这
  • 将参数传递给 NSTimer 调用的方法

    如何将参数传递给 NSTimer 调用的方法 我的计时器看起来像这样 NSTimer scheduledTimerWithTimeInterval 4 target self selector selector updateBusLocat
  • Cx 冻结错误 - Python 34

    我有一个 Cx Freeze 安装文件 我正在尝试使其工作 令人非常沮丧的是used适当冷冻 但是现在我收到以下错误 编辑 显示的错误不是通过控制台的 Python 异常 而是尝试启动通过冻结生成的结果 exe 文件时的崩溃报告 文件 no
  • 为什么在 while 循环中使用 itrerator 对象时需要进行类型转换? [复制]

    这个问题在这里已经有答案了 我现在正在学习java 在编写遍历代码时ArrayList using Iterator在使用迭代器的对象之前 我必须使用类名next 功能 有人能帮我解决这个问题吗 import java util publi
  • 使用“在模型中保存起始值”选项来帮助 Dymola 中的收敛

    I build a model in dymola Even though there are some errors during the initialization process but the calculation succee
  • Python 文档字符串模板化

    为什么动态格式化文档字符串不起作用 是否有可接受的解决方法来执行此操作在函数定义时 gt gt gt DEFAULT BAR moe s tavern gt gt gt def foo bar DEFAULT BAR hello this
  • IONIC 键盘隐藏在输入焦点上

    我正在编写一个 Ionic 应用程序 该应用程序将用于医疗保健领域的物流目的 用于此应用程序的设备具有内置条形码扫描仪并在 android 4 1 1 上运行 该扫描仪在输入字段中输入数据 并通过按 输入 键提交数据 由于扫描仪在某些情况下
  • 将本地存储从 Cordova 应用迁移到 Android 应用

    我们在 Playstore 中有一个使用 Cordova 开发的应用程序 现在我们已经在原生 Android 中重建了整个应用程序 现在我们希望在不注销的情况下将用户从以前的应用程序升级到新应用程序 为此 如何将Cordova window
  • 根据累计和和组创建新组

    我希望根据两个条件创建一个新组 我希望在 Value 的累计总和达到 10 之前将所有案例分组在一起 并且我希望在每个人中完成此操作 我已经设法让它分别适用于每个条件 但不能同时使用 for 循环和 dplyr 但是 我需要同时应用这两个条