R 中值的累积计数

2024-03-13

我希望你做得很好。我想知道如何计算特定条件下数据集的累积和。我的数据集的简化版本如下所示:



t   id  
A   22
A   22
R   22
A   41
A   98
A   98
A   98
R   98
A   46
A   46
R   46
A   46
A   46
A   46
R   46
A   46
A   12
R   54
A   66
R   13 
A   13
A   13
A   13
A   13
R   13
A   13
  

想要创建一个新的数据集,其中对于“id”的每个值,我将获得每个 id 出现的累积次数,但是当 t=R 时,我需要重新启动计数,例如



t   id  count
A   22  1
A   22  2
R   22  0
A   41  1
A   98  1
A   98  2
A   98  3
R   98  0
A   46  1
A   46  2
R   46  0
A   46  1
A   46  2
A   46  3
R   46  0
A   46  1
A   12  1
R   54  0
A   66  1
R   13  0
A   13  1
A   13  2
A   13  3
A   13  4
R   13  0
A   13  1
  

关于如何做到这一点有什么想法吗?提前致谢。


Using rle:

out <- transform(df, count = sequence(rle(do.call(paste, df))$lengths))
out$count[out$t == "R"] <- 0

If your data.frame不止这两列,而您只想检查这两列,那么,只需替换df with df[, 1:2] (or) df[, c("t", "id")].

如果你发现do.call(paste, df)危险(如 @flodel 评论),那么你可以将其替换为:

as.character(interaction(df))

我个人认为这种设置没有任何危险或笨拙的地方(只要你有正确的分隔符,这意味着你很了解你的数据)。但是,如果您确实发现了这种情况,第二个解决方案可能会对您有所帮助。


Update:

对于那些不喜欢使用的人do.call(paste, df) or as.character(interaction(df))(请参阅我、@flodel 和 @hongOoi 之间的评论交流),这是另一个基本解决方案:

idx <- which(df$t == "R")
ww <- NULL
if (length(idx) > 0) {
    ww <- c(min(idx), diff(idx), nrow(df)-max(idx))
    df <- transform(df, count = ave(id, rep(seq_along(ww), ww), 
                   FUN=function(y) sequence(rle(y)$lengths)))
    df$count[idx] <- 0
} else {
    df$count <- seq_len(nrow(df))
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中值的累积计数 的相关文章

  • 即使设置了语言环境,data.frames中的藏文字符也无法在R控制台中显示(中文可以,矩阵中的藏文可以)

    在 R 中 藏文字符位于 data frames 中时无法正确显示 gt Sys setlocale LC CTYPE Tibetan 1 Tibetan China 950 gt data frame a a 1
  • 条件格式 DT 中的样式

    我想根据 B 列中的值对 A 列中的行进行着色 下面的代码基于小插图中的示例Link https rstudio github io DT 010 style html 但仅显示两列的条件 mobile number by mobile f
  • OpenBUGS:伯努利分布中缺失值

    我正在尝试通过 R R2OpenBUGS 使用 OpenBUGS 将观察 时间 建模为随机变量 如果所有观察时间都可用 没有 NA 则一切正常 但如果我将其中一个时间设置为 NA 则什么也不会发生 我使用 WinBUGS 测试了相同的代码
  • 如何在 R 中解析年份+周数?

    有没有一种好方法可以将年 周数转换为R中的日期 我已经尝试过以下方法 gt as POSIXct 2008 41 format Y U 1 2008 02 21 EST gt as POSIXct 2008 42 format Y U 1
  • a * b * y 中的错误:不一致的数组[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 Cold lt matrix c 1 89 3 76 2 47 4 76 2 2 byrow TRUE X lt mat
  • 使用 R 将多个数据帧写入 .csv 文件

    我使用 lapply 将函数应用于多个数据框 data cleaned lt lapply data list shooter cleaning 然后根据主题编号 例如 100 标记列表中每个结果数据帧 names data cleaned
  • 无法使用 R 中的 Quantmod 从雅虎财经下载数据

    我正在尝试使用以下代码从雅虎下载数据 library quantmod getSymbols WOW auto assign F 过去 这对我来说在任何场合都有效 除了现在 在我的小组作业到期前 5 天 但现在我收到此错误 Error in
  • 传说在北卡罗来纳州地理地图上消失?

    我正在使用 R 编程语言 使用北卡罗来纳州的内置地图 我生成了 3 个随机变量 收入 孩子数量 体重 然后为此数据创建了地图 使用 传单 库 通过循环 library sf library mapview library leaflet l
  • 在 R 中执行 read.csv 时未读取所有行

    这是输入文件 http www yourfilelink com get php fid 841283 http www yourfilelink com get php fid 841283 我执行了 options stringsAsF
  • 如何在 R 中创建没有情节的图例?

    这是一个艺术项目 我创建了一个包含 5 种不同颜色的许多点的散点图 我想创建一个与绘图完全分开的图例 因为它不在绘图上 也不在绘图旁边 而是在它自己的窗口中 因此我可以将图例保存为它自己的 pdf 文件 这样我就可以将我的情节和图例分开打印
  • 如何在Shiny中动态生成的条件面板中格式化条件?

    我正在尝试使用 for 循环在 Shiny 中创建小部件 每个块包含 label 复选框 选择选择器 两个数字输入 我想根据复选框的值和选择选择器的值来设置显示或隐藏两个数字输入的条件 在我创建的 for 循环中 我为每个小部件变量添加了一
  • R 是解释型编程语言还是编译型编程语言?

    R 是解释型编程语言还是编译型编程语言 The R FAQ https cran r project org doc FAQ R FAQ html What is R 003f说 R 的核心是一种解释型计算机语言
  • R 中的闭包类似于 Python

    首先考虑以下 Python 代码 该代码计算函数被调用的次数 def counter fn count 0 def inner args kwargs nonlocal count count 1 print Function 0 was
  • Rstudio 更有意义的窗口标题

    我在 Ubuntu 16 04 下使用 R studio 版本 1 0 143 窗口标题仅显示一个非常无信息的 RStudio 我希望至少有当前选项卡的名称 或者最好是与此选项卡对应的文件的完整路径 在 Windows 下 完整路径似乎出现
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 在 R 中将列表列表转换为数据帧:Tidyverse 方式

    我正在寻找将列表列表转换为 R 中的数据帧的 Tidyverse 方法 Create a list of lists a lt seq 1 10 1 b lt seq 1 20 2 Function to calculate the sum
  • 按行重塑矩阵

    我有一个大小为 18000 x 54 的矩阵 我想将其重塑为大小为 54000 x 18 的矩阵 其中初始矩阵的每一行都变成一个有 3 行的矩阵 让我们举个例子 我有一个矩阵如下 a matrix 1 18 nrow 2 ncol 9 by
  • rvest - 在 1 个标签中抓取 2 个类

    我是新来的 如何提取标签中具有 2 个类名或仅 1 个类名的元素 这是我的代码和问题 doc lt paste span class a1 b1 text1 span span class b1 text2 span library rve
  • 添加带有错误的弹出窗口,警告闪亮

    有什么办法可以添加一个popup 可关闭的窗口 其中包含警告或其他消息Shiny 我用来构建 Web 应用程序的 R 包 我已经寻找了一段时间但没有任何结果 虽然我不认为有任何本地可用的东西shiny 你可以尝试添加jQueryUI到您的应
  • 在 ggplot2 中,如何将堆叠直方图中的小值条形组合在一起?

    示例数据 tmp df lt data frame a rnorm 100 0 1 b rnorm 100 0 5 1 c rnorm 100 0 5 1 d rnorm 100 1 1 e rnorm 100 1 1 gt tidyr g

随机推荐

  • 从表单生成表格

    我有一个表单组 public transactionOrRefundRequestForm FormGroup new FormGroup SaleRequest new FormGroup Header new FormGroup Typ
  • Perl 中有 zip 和 Fold 等函数吗?

    我想使用一些功能 例如 zip http zvon org other haskell Outputprelude zip f html fold http www haskell org haskellwiki Fold and map
  • Java:使用 double 不准确[重复]

    这个问题在这里已经有答案了 可能的重复 在java中使用双精度数保持精度 https stackoverflow com questions 322749 retain precision with doubles in java Java
  • 混淆 ASP.Net dll 破坏 Web 应用程序

    我通常不会费心去混淆 Web 应用程序 DLL 但现在我必须与可能有利益冲突的人共享一些服务器空间 并且可能会试图窃取交易并反编译它 我知道这不是一个理想的解决方案 但是嘿 因此 我使用 VS 2005 一个 Web 部署项目 编译为单个
  • Getpass输入Python 3

    我正在尝试创建密码输入 我知道getpass getpass但是当我将其置于闲置状态时 它会出现错误 提示 密码可能会被回显 My code import getpass p getpass getpass print You entere
  • gremlin 语法计算 Jaccard 相似度度量

    我有兴趣计算图中未直接连接的所有顶点对的杰卡德相似度度量 Jaccard度量定义为两个顶点的邻居交集的范数除以相同集合的并集的范数 where 到目前为止 我已经能够获得所有未直接连接的节点对 仅对这种情况下的链接预测感兴趣 如果直接链接已
  • 其可能的 Google 表单脚本每天上午 00:01 至中午 12:00 自动打开和关闭

    我想每天 00 01 打开 google 表单并在 12 00 关闭 这是我的代码 function createDailyTrigger ScriptApp newTrigger openCloseFormTrigger timeBase
  • 由于 Integer.parseInt 导致崩溃

    我正在尝试从另一个文本文件中生成的文本导入文本Activity 生成的文本文件由String ArrayList其中仅包含数字和 Android 生成的其他随机文本 当我从文件导入文本时 我使用的是BufferedReader and re
  • 如何在Python中检查神经网络的层数以及何时应该增加层数?

    请对您的想法添加最少的评论 以便我可以改进我的查询 谢谢 我正在研究MNIST数据集并写一些CNN代码 然而 我对其中的一些观点感到困惑CNN代码 如何知道神经网络的层数 根据我目前的理解 我认为它有 6 层和 4 个隐藏层 是对的吗 如果
  • OpenGL 3:​​glBindVertexArray 使 GL_ELEMENT_ARRAY_BUFFER 无效

    我确信如果你通过绑定缓冲区glBindBuffer 您可以放心地假设它保持绑定状态 直到目标通过另一个调用反弹glBindBuffer 因此 当我发现调用时 我感到非常惊讶glBindVertexArray 将绑定到 GL ELEMENT
  • 在 Node 中渲染 HTML 字符串?

    好吧 我已经下载了 Express 设置端口process env PORT 8080 并设置应用程序变量var app express 现在 我想要完成的是不是通过文件渲染 HTML 我可以通过字符串来完成吗 var html n n n
  • 将 Word 保存为 UTF-8 编码的 HTML

    我正在编写一些 C VSTO 代码 用于读取 Microsoft Word 文档并将其保存到筛选的 HTML 当我对通用 Word 文档执行此函数时 html 文件的输出使用 Windows 字符集 如下所示 如果我打开一个文档并转到 文件
  • 自定义验证摘要模板 Asp.net MVC 3

    我正在开发一个使用 Asp Net MVC3 的项目 在我的视图中 Html ValidationSummary true 像往常一样它会产生 div class validation summary errors ul li Someth
  • Twinx/Secondary-y:不要从第一种颜色开始

    我有一个配色方案来自 plt style use ggplot so 我不想手动选取颜色 或从颜色循环器中选取它们 但是 当我有辅助轴时 fig ax plt subplots ax2 ax twinx ax plot np array 1
  • Scala 泛型和数字隐式

    我需要将两个函数作为参数传递给 scala 函数 然后 该函数应该评估它们并从中获取一个数字 然后对其进行操作 该数字可以是 Int Double 或任何其他数字类型 我希望该函数能够工作 无论它使用什么类型 下面的例子解释了这个问题 im
  • Android 中访问错误的原始资源

    我有以下代码 我的想法是在 OnCreate 中 我会将 res raw 中的文本文件中的一些类别填充到我的数据库中 首先按行对读取的文件进行标记 myCatToken 然后我再次拆分每个文件以获取 id 和名称 由于某种原因 我没有读取r
  • 如何仅从元素的一侧删除边框?

    I have
  • ReferenceError getValuesOfAutofillInputs,找不到变量:PaymentAutofillConfig [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 自 2022 年 6 月 2 日以来 我们的哨兵日志中一直面临代码中的引用错误 而且它只发生在 iOS iphone 设
  • 如何向网站发送查询并解析结果?

    我想用Java做一些开发 我希望能够访问一个网站 例如 www chipotle com 在右上角 您可以输入邮政编码 它会为您提供所有最近的位置 该程序只有一个空框供用户输入邮政编码 并且它将查询实际的 chipotle 服务器以检索最近
  • R 中值的累积计数

    我希望你做得很好 我想知道如何计算特定条件下数据集的累积和 我的数据集的简化版本如下所示 t id A 22 A 22 R 22 A 41 A 98 A 98 A 98 R 98 A 46 A 46 R 46 A 46 A 46 A 46