R按组计数元素的出现次数[重复]

2024-02-26

计算每个组中向量或数据帧上元素出现次数的最简单方法是什么?
我的意思并不是只计算总数(正如其他 stackoverflow 问题所要求的那样),而是为每个连续发生的事件提供不同的数字。

例如对于这个简单的数据框:(但我将使用具有更多列的数据框)

mydata <- data.frame(A=c("A","A","A","B","B","A", "A"))

我找到了这个解决方案:

cbind(mydata,myorder=ave(rep(1,nrow(mydata)),mydata$A, FUN=cumsum))   

结果如下:

 A myorder  
 A       1  
 A       2  
 A       3  
 B       1  
 B       2  
 A       4  
 A       5  

没有任何一个命令可以做到这一点吗?或者使用专门的包?

我希望它稍后使用 tidyr 的 spread() 函数。

我的问题与是否有聚合 FUN 选项来计算出现次数? https://stackoverflow.com/questions/9809166/is-there-an-aggregate-fun-option-to-count-occurrences因为我不想知道最后出现的总数,而是知道每个元素的累积出现次数。

好的,我的问题有点复杂

mydata <- data.frame(group=c("x","x","x","x","y","y", "y"), letter=c("A","A","A","B","B","A", "A"))

我只知道解决我上面写的第一个例子。 但是,当我还想要第二个分组变量时会发生什么? 类似按组出现的事件(字母)。

group letter  "occurencies within group"  
 x      A       1  
 x      A       2  
 x      A       3  
 x      B       1  
 y      B       1  
 y      A       1  
 y      A       2  

我找到了方法

ave(rep(1,nrow(mydata)),列表(mydata$group,mydata$letter),FUN=cumsum)
虽然它应该更容易一些。


Using data.table

library(data.table)
setDT(mydata)
mydata[, myorder := 1:.N, by = .(group, letter)]

The by参数使表在称为列的组内处理A. .N是该组内的行数(如果by参数为空,它将是表中的行数),因此对于每个子表,每行的索引从 1 到该子表中的行数。

mydata
   group letter myorder
1:     x      A       1
2:     x      A       2
3:     x      A       3
4:     x      B       1
5:     y      B       1
6:     y      A       1
7:     y      A       2

or a dplyr解决方案几乎相同

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

R按组计数元素的出现次数[重复] 的相关文章

  • 在 R 中使用 spplot 将多个绘图放在一个页面上?

    我知道如何在使用简单函数图时绘制两个图 old par lt par mfrow c 1 2 plot faithful main Faithful eruptions plot large islands main Islands yla
  • 如何在 R 中的另一个函数中使用 `sink` 函数?

    我有一个函数fun依赖于外部函数external 即来自某个包 我如何收集来自的所有警告external在字符向量中 这是一个最小的设置 External function from another package external lt
  • R:使用带有 .Call 和 C/C++ 包装器的 Fortran 子例程而不是 .Fortran 的优点?

    我有一个 R 包 它使用大量 Fortran 子例程来进行递归线性代数计算的嵌套循环 很大程度上依赖于 BLAS 和 LAPACK 例程 作为 Fortran 的接口 我使用 Fortran功能 我刚刚读过乔纳森卡拉汉的博客文章 http
  • 修复 ggplot 中构面中的数据顺序

    我在使用 ggplot 绘制数据时遇到问题 我无法使每个方面内的数据正确排序 我的样本数据是 data lt structure list Parameter c 0 1 0 7 0 0 0 2 0 2 0 7 0 0 0 1 0 3 0
  • 再现频率矩阵图

    我想在 R 中重新创建一个情节 情节如下 来源 Boring E G 1941 作为动态平衡的统计频率 心理学评论 48 4 279 这略高于我的工资等级 能力 因此在这里询问 无聊的状态 第一次 A 只能出现 从不 0 或 总是 1 在
  • 在 R 中按组检查重叠开始和结束时间

    我想检查数据的重叠 这是数据 ID lt c rep 1 3 rep 3 5 rep 4 4 rep 5 5 Begin lt c 0 2 5 3 7 8 7 25 25 10 15 17 20 1 NA 10 11 13 End lt c
  • 使用pivot_longer将R中的多列变成一列[重复]

    这个问题在这里已经有答案了 我有一个dfpopulation看起来像这样 未列出所有列和行 Region X1975 X1976 X1977 X2008 National Total 942420 93717 94974 132802 Be
  • 对于多项式,获取其所有极值并通过突出显示所有单调部分来绘制它

    有人问我这个有趣的问题 我认为值得将其发布在这里 因为 Stack Overflow 上还没有任何相关线程 假设我有长度为的多项式系数n vector pc 其中次数多项式n 1对于变量x可以以其原始形式表示 pc 1 pc 2 x pc
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • 使用starts_with() 将 NA 替换为 0

    我正在尝试替换我的一组特定列的 NA 值tibble 这些列都以相同的前缀开头 所以我想知道是否有一种简洁的方法来使用starts with 函数从dplyr包可以让我做到这一点 我已经看到了有关 SO 的其他几个问题 但是它们都需要使用特
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • 如何在 R 中为回归量创建“宏”?

    对于长且重复的模型 我想创建一个 宏 在 Stata 中称为 宏 并通过以下命令完成 global var1 var2 其中包含回归量的模型公式 例如来自 library car lm income education prestige d
  • 回归时如何设置系数值;右

    我正在寻找一种指定预测变量值的方法 当我使用当前数据运行 glm 时 其中一个变量的系数接近 1 我想将其设置为 0 8 我知道这会给我一个较低的 R 2 值 但我先验地知道模型的预测能力会更大 glm 的权重组件看起来很有希望 但我还没有
  • 访问 R 工作区中的数据[重复]

    这个问题在这里已经有答案了 我是自学 R 的 可能有一些非常基本的东西我可能不熟悉 如果是这样我道歉 我正在尝试访问外部来源提供给我的数据 它作为一个工作空间出现 我的流程如下 gt ls 1 2003OHT HR gt attach 20
  • 使用 readHTMLTable 从 https 网页读取表格

    我安装了 R 3 3 1 并使用 RStudio 0 99 903 我正在尝试从以下 URL 将表格读入 R https www fantasypros com nfl rankings consensus cheatsheets php
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac

随机推荐

  • Tomcat:无法销毁与 ProtocolHandler 关联的端点

    Problem 在 a 上运行我的项目tomcat我遇到以下问题 SCHWERWIEGEND Failed to destroy end point associated with ProtocolHandler ajp nio 8009
  • Angularjs根据屏幕尺寸响应式隐藏和显示

    大家好 我正在努力实现这一目标 当用户在桌面上时 他在访问页面时应该看到该块 而当用户在移动设备上时应该看到该按钮 然后他应该能够切换它 我可以通过设置使用 CSS 媒体查询显示按钮显示 无当屏幕尺寸显示 无 to block通过增加ng
  • 有没有办法阻止iOS6杀死特定任务进程?

    我知道iOS有自己的任务管理方法 用户可能永远不需要关心进程后台 但我的要求是始终保持程序活着 在任何情况下都不能被杀死 有没有办法做到这一点 比如 锁定 或其他已经存在的功能 我使用的是iPad4 ios6 01系统 Thanks 不 那
  • Android 代码折叠 Switch 块

    在 Android Studio 1 0 2 下 有没有办法折叠 Switch 条件语句的代码块 我无法在线或在 文件 gt 设置 中找到如何执行此操作 选择代码块并右键单击以选择折叠代码块 它 说 Ctrl Shift Period 但
  • 在 XMLHttpRequest 中设置 Authorization 标头会更改 HTTP 动词

    今天我发现 XMLHttpRequest 的一个奇怪的行为 当我调用 GET 服务时 我发现如果我不设置授权标头 来自 Firefox 的请求是相同的 但是 如果我添加 Authorization 标头 Firefox 首先发送带有 OPT
  • IPython 笔记本在终端中显示输出

    我正在使用 IPython 笔记本 ipython notebook 但是当我尝试通过简单地给出变量名称并按 Shift Enter 来打印某些内容以获取任何输出时 而不是在笔记本 单元格旁边 中获取输出 我会在终端中启动它笔记本 我想查看
  • 在C中,只有一个元素的数组初始化是否经过特殊处理?

    在读的时候这个问题 https stackoverflow com questions 8060931 append to the beginning of an array 8061034 8061034我想测试 GCC 中的输入 看看会
  • clang 使用了错误的系统包含目录

    我的工作站是 RHEL 6 5 预装了 gcc 4 4 7 我们正在进行 C 11 工作 因此我们购买了 RedHat Developer s Toolset 存储库集 其中包括 G 4 8 2 这台机器上安装了两个版本的 G 但 4 8
  • 从可穿戴设备发送消息到手机,然后立即回复

    我今天一整天都在与 Android Wear Message API 作斗争 最终接受了我需要一些帮助 我的应用程序非常简单 移动部分由一个 MainActivity 除了显示 Hello world 之外什么也不做 和一个扩展服务组成可穿
  • 为什么不调用 doOnDispose?

    当创建这样的 Observable 时 public void foo Observable observable Observable fromCallable gt bar return doOnSubscribe disposable
  • 将片段中的文本提供给自定义 TextView

    如何在自定义 TextView 中设置构造函数以便能够从片段传递文本 换句话说 我很困惑如何将文本从我的片段 Fragment1 发送到自定义视图 View1 public class View1 extends TextView cons
  • 如何向 PWA 标题栏添加返回和刷新按钮

    我正在编写一个 PWA 应用程序 我想要的是back and refresh标题栏上的按钮 但我什么也没得到 更新 按钮应该由浏览器控制 而不是我的用户界面 The display清单文件中的属性必须是fullscreen or stand
  • 正则表达式随 Pip 安装但无法识别

    所以我尝试使用正则表达式解析文件中的数据 我已经成功安装了正则表达式 pip install regex Requirement already satisfied regex in usr local lib python3 8 site
  • Python/OpenCV — 匹配两幅图像中细菌的质心点

    我正在研究一种使用计算机视觉来匹配细菌质心的算法 由于我是计算机视觉的本科生和初学者 因此我没有专门针对此问题的代码 只是为了提供一些背景知识 我在 GUI 中使用了以下函数 bact 变量是指 Bacteria 对象 它存储每个细菌的 I
  • 如何在 php-cs-fixer 中使用其他文件扩展名,例如 .ctp?

    如何在 php cs fixer 中使用其他文件扩展名 例如 cakephp 模板 ctp 文件 我尝试过这段代码
  • Javascript 日期为该月的第二个星期一

    我正在与一个在每月第二个星期一开会的小组合作 他们希望他们的网站能够反映下一次会议的日期 我有本月第二个星期一显示的脚本 但我在使用 if else 语句时遇到了问题 我需要它来反映下一个即将发生的事件 而不仅仅是本月的日期 IE 本月的活
  • BlackBerry SQLite 数据库创建:“文件系统未就绪”

    我的应用程序从服务器获取数据并将其保存到 SQLite 数据库中 这在 9550 中工作得很好 黑莓风暴2 http en wikipedia org wiki BlackBerry Storm 2 模拟器 但是当我在任何其他模拟器中运行它
  • 如何解决“java.lang.OutOfMemoryError:超出GC开销限制”

    I read 这个堆栈溢出页面 https stackoverflow com questions 1393486 what does the error message java lang outofmemoryerror gc over
  • 将自定义 WSDL 绑定到现有 WCF 服务

    我使用 WCF 创建了一个 Web 服务 我不知道如何通过数据契约在 WSDL XSD 中设置约束和限制 如果我使用约束改进 XSD2 架构 然后将此自定义架构绑定到现有服务会怎样 如果是这样 我怎样才能使服务公开改进的 WSDL 否则 还
  • R按组计数元素的出现次数[重复]

    这个问题在这里已经有答案了 计算每个组中向量或数据帧上元素出现次数的最简单方法是什么 我的意思并不是只计算总数 正如其他 stackoverflow 问题所要求的那样 而是为每个连续发生的事件提供不同的数字 例如对于这个简单的数据框 但我将