计算R中向量中重复数字序列的长度

2024-01-12

这是数据:

marker <- c(0,0,0,0,3,3,0,0,5,5,5,0,0,0,
            1,1,2,2,2,2,0,0,1,1,1,3,3,3,
            1,1,2,2,2,0,0,1,1,1,5,5,5,5)

这些标记显示参与者在眼动追踪研究期间正在做什么,例如 0 = 没有试验,1 = 试验开始,2、3、5 = 不同类型的任务。第一个1之前的数据是眼动仪测试,可以丢弃。

我需要做什么(最好是dplyr):

  1. 删除第1条之前的数据
  2. 计算每个重复数字序列的长度(n_samples)
  3. 将 ID 号分配给试验,将 0 分配给无试验和试验开始(trial_number)

期望的输出:

marker  n_samples  trial_number
1       2          0
1       2          0
2       4          1
2       4          1
2       4          1
2       4          1
0       2          0
0       2          0
1       3          0
1       3          0
1       3          0
3       3          2
3       3          2
3       3          2
1       2          0
1       2          0
2       3          3
2       3          3
2       3          3
0       2          0
0       2          0
1       3          0
1       3          0
1       3          0
5       4          4
5       4          4
5       4          4
5       4          4

I found this https://stackoverflow.com/questions/7077710/sequence-length-encoding-using-r答案,但无法修改代码以适应我的任务。

谢谢你!


Using dplyr and data.table's rleid功能。

library(dplyr)

tibble(marker) %>%
  #Drop rows before first 1
  filter(row_number() >= match(1, marker)) %>%
  #Count samples in each group
  add_count(grp = data.table::rleid(marker), name = 'n_samples') %>%
  #Create trial number
  mutate(trial_number = with(rle(!marker %in% c(1, 0)), 
                            rep(cumsum(values) * values, lengths))) %>%
  select(-grp)

这返回 -

#   marker n_samples trial_number
#1       1         2            0
#2       1         2            0
#3       2         4            1
#4       2         4            1
#5       2         4            1
#6       2         4            1
#7       0         2            0
#8       0         2            0
#9       1         3            0
#10      1         3            0
#11      1         3            0
#12      3         3            2
#13      3         3            2
#14      3         3            2
#15      1         2            0
#16      1         2            0
#17      2         3            3
#18      2         3            3
#19      2         3            3
#20      0         2            0
#21      0         2            0
#22      1         3            0
#23      1         3            0
#24      1         3            0
#25      5         4            4
#26      5         4            4
#27      5         4            4
#28      5         4            4        
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算R中向量中重复数字序列的长度 的相关文章

  • 如何从R中串扰的filter_select中删除(全部)?

    我遵循图 16 7 的示例https plotly r com client side linking html https plotly r com client side linking html并且无法弄清楚为什么有一个名为 全部 的
  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • r:按多列分组并计数

    我有以下数据框 df LeftOrRight SpeedCategory NumThruLanes R 25to45 3 L 45to62 2 R Gt62 1 我想按速度类别对其进行分组 并循环遍历其他列以获取每个速度类别中每个唯一代码的
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • ggsubplot 是否适用于 R 3.2.1+?

    CRAN 提供的 ggsubplot 版本与 R 的最新版本 例如 3 1 1 不兼容 运行 ggsubplot 示例会返回以下错误 Error in layout base data vars drop drop At least one
  • data.table 的包装函数

    我有一个已经使用 data frame 上下文编写的项目 为了缩短计算时间 我尝试利用 data table 的速度 我的方法是构造包装函数 读取帧 将它们转换为表 进行计算 然后转换回帧 这是一个简单的例子 FastAgg lt func
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • 如何在 R Markdown 中的内联 LateX 方程中输出 R 变量的值(即动态更新)

    我无法找到一种方法将 r 代码实现到 R markdown 中的内联 LateX 方程中 目标是如果变量 值 发生变化 则不必对它们的值进行硬编码 Given values lt c 1 4 2 5 7 9 avg lt sum value
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 按组复制数据框

    我有以下数据框 df structure list Group c 1 1 1 1 2 2 2 2 2 2 3 3 3 index c 1 2 3 4 1 2 3 4 5 6 1 2 3 row names c NA 13L class c
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 使用 R Markdown 文档作为函数源

    我正在研究 R Markdown 来记录我经常使用的功能 我会将它们放入 R Markdown 文件中以记录它们 然后如果我几个月后回来查看它 就能够阅读我在函数背后的想法 我的问题是 如果我开始一个新的 R 项目 是否可以获取 r mar
  • 在zooreg时间序列中查找非唯一索引条目时遇到问题

    我有几年的数据正在尝试将其转化为动物园对象 Dropbox 上的 csv https www dropbox com sh vg8w8pt16e0v3xs AABKtWqDkPu9JVKpwBXO36VOa dl 0 一旦数据被强制转换为动
  • R 获取子字符串和正则表达式?

    我有一组文件名字符串 我想提取 符号之后但文件扩展名之前的所有字符 例如 文件名之一是 HelloWorld you txt 我想返回字符串you 这是我的代码 hashPos grep name fixed TRUE dotPos len
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • 如果值大于或小于,则替换数据框中的值

    我在 R 中操作数据帧时遇到问题 这是 R 中的基本内容 但我找不到执行此类操作的最佳命令 虚拟示例 Var1 20 300 39 Var2 49 23 91 Var3 0 239 210 我怎样才能用10如果值小于 则在第 2 列中10
  • 按名称包含在单个对象中的多个列对 data.frame 进行排序?

    我想排序一个data frame由多列组成 理想情况下使用基础 R 无需任何外部包 尽管如果有必要 就这样吧 读过如何按列对数据框进行排序 https stackoverflow com questions 1296646 how to s
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s

随机推荐

  • 抑制 ddl 创建脚本中的 ORA-00942 错误

    假设您生成 ddl 以通过 Hibernate SchemaExport 等创建所有数据库表等 您得到的是一个开头以 drop 语句开头的脚本 没问题 因为我想要这个 但运行此脚本会在 Oracle 数据库上运行时产生大量 ORA 0094
  • 理解OpenCV的unactor函数

    我希望使用为相机计算的畸变系数来消除图像畸变 而不更改相机矩阵 这正是undistort 确实如此 但我想将输出绘制到更大的画布图像上 当我尝试这个时 Mat drawtransform getOptimalNewCameraMatrix
  • 为什么使用 Intranet 站点的兼容模式

    我是一名 Mac 用户 网页设计师 试图了解 IE 11 的 以兼容模式显示 Intranet 站点 选项 我有一个客户 一家建筑公司 曾经在他们的 Windows 服务器上托管他们的旧网站 我没有开发的 HTML 网站 我最近为他们启动的
  • 找不到名为“MainStoryboard_iPad”的故事板

    我无法在模拟器中运行我的项目 因为我收到此错误 找不到名为 MainStoryboard iPad 的故事板 但故事板就在那里 谢谢 我通过以下步骤在我的 iPad 应用程序中成功解决了这个问题 检查构建阶段 编辑 Info plist 文
  • C# 最快的 2 组排序值并集

    合并两组排序值的最快方法是什么 速度 big O 在这里很重要 不清楚 假设这已经被执行了数百万次 假设您不知道值的类型或范围 但有一个有效的方法IComparer
  • 获取变量(非硬编码)名称?

    我正在寻找一种检索变量名称的方法 因此我不必在需要时使用硬编码声明 对于属性名称等 我几乎不相信这是可能的 也许有人有解决方案 注意 即使不是变量 属性也会移动 Pseudo Module Module1 Sub Main Dim vari
  • Javascript:全局元素焦点监听器

    我正在尝试设置一个侦听器来侦听所有焦点事件 特别是 我试图监听输入或文本框获得焦点的任何时间 根据一些研究 广泛接受的实现这一目标的方法是这样的 document body onfocus function event Check the
  • Elasticsearch 错误“无法在路径下找到嵌套对象”

    我知道这个问题之前已经被问过多次 但现有的问题或答案都没有帮助我 查询 Elasticsearch 时出现以下错误 nested 未能在路径 出发 下找到嵌套对象 我正在运行的查询如下 explain true from 0 query n
  • 恢复 iPhone 上已购买的应用内购买项目?

    到目前为止 我得到的是 重新安装后 用户需要单击 购买功能 然后他对 0 99 美元的问题感到害怕 然后必须登录 然后被告知该功能已经购买 他可以免费获得 我知道苹果是一种宗教 用户也是坚定的信徒 但是有没有更好的方法呢 我想要的是检查该功
  • 处理 Windows 应用程序的结束进程

    是否可以在同一个 Windows 应用程序本身中捕获 Windows 应用程序的任务管理器结束进程 我正在使用 C 2 0 win 应用程序 当结束进程发生时 我想进行一些数据库处理 将数据库中的标志从 Y 更改为 N 不 不可能挂钩操作系
  • 通过引用传递匿名变量

    标准 C 类型 例如 int 或 char 具有构造函数 因此您可以使用如下表达式 int a int 67 create anonymous variable and assing it to variable a int b 13 in
  • XMLHttpRequest 对象的 open 方法的相对路径

    在包含 Ajax 请求的 JavaScript 文件中 URL 与什么相关 我有包含目录 alpha 和 bravo 的 www 目录 alpha 中的 JavaScript 文件 包含它的 HTML 文件以及 bravo 中处理请求的 P
  • C# 中匹配换行符 (\n) 的正则表达式

    好吧 这个让我抓狂 我有一个这样形成的字符串 var newContent string Format 0 n 1 stripped content reply newContent 将显示如下 旧文本 新文本 我需要一个正则表达式来去除括
  • 如何使 WebKit WebView 使用 CSS 样式表?

    我制作了一个带有 CSS 文件链接的 html 在浏览器中打开它 样式显示正确 然后我将其加载到 WebView 中 但样式不显示 我什至尝试插入一个从 Objective C 到 DOM 这是我的最终目标 但都没有成功 我是否必须以某种方
  • 收到以下警告:使用灵活数组成员传递结构的 ABI 在 GCC 4.4 中已更改

    当我尝试运行我的程序时 我收到此警告和一些奇怪的错误 rmi pdu以下结构中包含一个我想要访问的可变大小的数组 struct rmi message s Queue element containing Rmi message struc
  • 在 Wildfly 中使用 Jackson 注释

    我正在努力让 Jackson Annotations 在我的项目中工作 该项目部署在 Wildfly 中 我已经尝试过了实现 MessageBodyWriter https stackoverflow com questions 21395
  • Twitter Bootstrap Affix 侧边栏溢出 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试使用 twitter bootstrap 的 Affix 插件 但我不知道如何将其限制在父容
  • 要在 python 列表中返回的字符串元组列表

    编写一个函数 它接受给定格式的字符串 返回给定以下格式的列表 input 694 104 153 236 201 106 601 427 o p 694 104 153 236 201 106 601 427 我已经编写了以下代码 但没有得
  • 字符串数组的ArrayList

    我想做这样的事情 private ArrayList
  • 计算R中向量中重复数字序列的长度

    这是数据 marker lt c 0 0 0 0 3 3 0 0 5 5 5 0 0 0 1 1 2 2 2 2 0 0 1 1 1 3 3 3 1 1 2 2 2 0 0 1 1 1 5 5 5 5 这些标记显示参与者在眼动追踪研究期间正