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按组计数元素的出现次数[重复] 的相关文章

  • dplyr,do(),从模型中提取参数而不丢失分组变量

    R 帮助中关于 do 的示例略有不同 by cyl lt group by mtcars cyl models lt by cyl gt do mod lm mpg disp data coefficients lt models gt d
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查
  • 替换字符串/文本中“从第 n 次到最后一次”出现的单词

    这个问题以前曾被问过 但尚未得到令提问者满意的答案 https stackoverflow com questions 36368712 how to use stringrs replace all function to replace
  • 如何从shiny中将数据下载到多张纸上?

    我们如何将数据从 Shiny 下载到多个工作表并命名每个工作表 例如下面 ginberg将mtcars数据保存在sheet1中 我们可以将头部 mtcars 保存在sheet2中吗 另外 我们可以对这些工作表进行不同的命名吗 例如sheet
  • 检查单词是否存在于英语词典 r 中

    我正在对多个进行一些文本分析resume生成一个wordcloud using wordcloud包装连同tm用于在 R 中预处理文档语料库的包 我面临的问题是 检查语料库中的单词是否具有某种含义 即 它属于英语词典 如何一起挖掘 处理多份
  • 捕获段错误、内存未映射错误

    我试图在 R 中找到 1347 x 209974 矩阵的列的相关性 每次我这样做 使用一个简单的命令cor matrix 我收到消息 caught segfault address 0xffffffffd058abf8 cause memo
  • 从“parallel”包中的非基础 R 包调用函数,而无需在函数中将它们库化

    假设我正在尝试运行以下代码 library gregmisc library parallel myfunction lt function x combinations 10 x 1 10 cl lt makeCluster getOpt
  • 在 R 中使用 nls 重新创建研究

    我正在学习如何在 R 中使用 nls 函数 但遇到了一些问题 我现在只是试图重新创建研究论文中发现的曲线 该模型拟合了 1987 年崩盘前股市走势的曲线 我定义了一个函数func 如下 func lt function a b tc t a
  • R 包与 Rcpp 的链接错误:“未定义符号:LAPACKE_dgels”

    我正在创建一个 R 包 lapacker 以使用 R API 头文件 R ext Lapack h 为 R 提供和使用的内部 LAPACK 库 仅具有双精度和双复数 提供 C 接口 源代码 https github com ypan1988
  • 如何一次导入多个 .csv 文件?

    假设我们有一个包含多个 data csv 文件的文件夹 每个文件包含相同数量的变量 但每个文件来自不同的时间 R 中有没有办法同时导入它们 而不必单独导入它们 我的问题是 我有大约 2000 个数据文件需要导入 并且必须使用以下代码单独导入
  • 使用函数参数作为 R 中新数据框的名称

    这很简单 但我已经搜索并未能找到这个小问题的解决方案 我想使用函数的参数作为新数据框的名称 例如 assign dataset lt function dataname x lt c 1 2 3 y lt c 3 4 5 dataname

随机推荐

  • 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 问题所要求的那样 而是为每个连续发生的事件提供不同的数字 例如对于这个简单的数据框 但我将