计算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 中带有文件名的 For 循环

    我有一个文件列表 例如 nE pT sbj01 e2 2 csv nE pT sbj02 e2 2 csv nE pT sbj04 e2 2 csv nE pT sbj05 e2 2 csv nE pT sbj09 e2 2 csv nE
  • par(mfrow=c(1,2)) 不显示并排密度图[重复]

    这个问题在这里已经有答案了 par mfrow c 1 2 plot 1 12 log y plot 1 2 xaxs i 然而 当我尝试做并排密度图时 图会单独输出 load the stud recs dataset library U
  • 如何提取与 R 中主题 ID 列表匹配的行?

    我有一个包含许多主题 ID 的数据框 每个主题都有重复观察 我还有一个单独的数据框 其中只有一个主题 ID 列表 我想从更大的数据框中匹配和提取 如何以允许我引用不同数据帧中的SubjectID列表的方式编写代码 不确定我是否完全理解这个问
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • ggplot2可以在一个图例中分别控制点大小和线大小(线宽)吗?

    一个使用的例子ggplot2绘制数据点组和连接每组均值的线 并使用相同的映射aes for shape并为linetype p lt ggplot mtcars aes gear mpg shape factor cyl linetype
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • 只读取选定的列

    谁能告诉我如何仅读取下面每年数据的前 6 个月 7 列 例如使用read table Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2009 41 27 25 31 31 39 2
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不
  • 在 r 中的 group_by 之后建模后取消列表列的嵌套

    我想对所有组进行线性回归group by 将模型系数保存在列表列中 然后使用 unnest 扩展列表列 这里我用的是mtcars以数据集为例 注 我想用do here becausebroom tidy 不适用于所有型号 mtcars gt
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou

随机推荐

  • 抑制 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 这些标记显示参与者在眼动追踪研究期间正