首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果由于采样率不同,数据文件中事件的时间不同,则在两个数据文件中匹配事件

如果由于采样率不同,数据文件中事件的时间不同,则在两个数据文件中匹配事件
EN

Stack Overflow用户
提问于 2022-03-14 05:09:35
回答 1查看 48关注 0票数 1

我需要将刺激码从一个数据文件导出到另一个数据文件,问题是在数据文件A和B中,以不同的采样率记录了刺激开始的时间,这就是为什么不可能及时找到确切的匹配。因此,我需要编写一个R代码,将数据集A中的SCode时间点与与其最近的数据集中B中的一个时点链接起来,并使用该SCode值在dataset B中创建一个Scode变量。但到目前为止我还没找到办法。

示例:

数据集A:包含刺激开始的时间点和刺激标识符代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Time <- c("17:02:54.064", "17:03:08.004", "17:03:23.125")
SCode <- c(11, 12, 22)

数据集B:每秒包含8个时间点,没有一个时间点在ms方面与数据集A中的时间点完全匹配:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Time <- c("17:02:54.022", "17:02:54.147", "17:02:54.272", "17:02:54.397", "17:02:54.522", "17:02:54.647", "17:02:54.772", "17:02:54.897", "17:03:08.022", "17:03:08.147", "17:03:08.272", "17:03:08.397", "17:03:08.522", "17:03:08.647", "17:03:08.772", "17:03:08.897", "17:03:23.022", "17:03:23.147", "17:03:23.272", "17:03:23.397", "17:03:23.522", "17:03:23.647", "17:03:23.772", "17:03:23.897")

最后,我需要在dataset B中有一个带有相关刺激代码的SCode变量(例如,从17:02:54.064到17:03:08.004的所有时间点为11 )。

我希望在正确的方向上有任何建议/暗示。

EN

回答 1

Stack Overflow用户

发布于 2022-03-14 05:43:26

使用任何时间将时间转换为datetime类,然后使用data.table在“最近”上合并

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(data.table)  # to merge on nearest
library(anytime)     # to convert datetime

#convert input into a data.table
d1 <- data.table(Time = c("17:02:54.064", "17:03:08.004", "17:03:23.125"),
                 SCode = c(11, 12, 22))

d2 <- data.table(Time = c("17:02:54.022", "17:02:54.147", "17:02:54.272", 
                          "17:02:54.397", "17:02:54.522", "17:02:54.647", 
                          "17:02:54.772", "17:02:54.897", "17:03:08.022", 
                          "17:03:08.147", "17:03:08.272", "17:03:08.397", 
                          "17:03:08.522", "17:03:08.647", "17:03:08.772", 
                          "17:03:08.897", "17:03:23.022", "17:03:23.147", 
                          "17:03:23.272", "17:03:23.397", "17:03:23.522", 
                          "17:03:23.647", "17:03:23.772", "17:03:23.897"))

#covnert to datetime with milliseconds.
#prefix with any date, e.g. today's date, so it converts to datetime object.
d1[, tt := anytime(paste("2022-03-14", Time)) ]
d2[, tt := anytime(paste("2022-03-14", Time)) ]

#then merge on nearest
setkey(d1, tt)
setkey(d2, tt)

d1[ d2, roll = "nearest" ]
#            Time SCode                  tt       i.Time
# 1: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.022
# 2: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.147
# 3: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.272
# 4: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.397
# 5: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.522
# 6: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.647
# 7: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.772
# 8: 17:02:54.064    11 2022-03-14 18:02:54 17:02:54.897
# 9: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.022
#10: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.147
#11: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.272
#12: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.397
#13: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.522
#14: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.647
#15: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.772
#16: 17:03:08.004    12 2022-03-14 18:03:08 17:03:08.897
#17: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.022
#18: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.147
#19: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.272
#20: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.397
#21: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.522
#22: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.647
#23: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.772
#24: 17:03:23.125    22 2022-03-14 18:03:23 17:03:23.897
#            Time SCode                  tt       i.Time
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71468322

复制
相关文章
Spring框架中不同类型的事件
Spring框架是一个功能强大的Java开发框架,它提供了许多便利的功能和组件来简化企业级Java开发。其中,事件驱动是Spring框架的一个重要特性,它允许开发者在应用程序中实现松耦合的组件间通信。本文将介绍Spring框架中不同类型的事件以及如何使用它们。
疯狂的KK
2023/07/24
3220
Spring框架中不同类型的事件
实现点击图片不同区域响应不同的事件
开始考虑以纵轴为0度, 计算点击坐标跟中心点连线并计算跟纵轴的角度来判断, 不过代码写好后发现在不同的设备上有误差
周希
2019/10/15
1.4K0
MySQL中相关数据文件说明
无论何种存储引擎(InnoDB、MyISAM、MEMORY...),只要创建了表结构就会在磁盘上创建一个frm文件,文件名为:表名.frm
俗可耐
2020/06/19
1.5K0
如果正确读取SQL Server中的扩展事件?
微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件的脚本,如代码清单1所示。
全栈程序员站长
2022/07/11
3.3K0
java中==、equals的不同AND在js中==、===的不同
       1.==操作符:首先,对于非基本数据类型的对象比较,相同内存中存储的变量的值是否相等,注意是相同内存地址的才可,并且数值相同(当然地址相同,值也一定相同)才会返回true.     但是,对于基本数据类型的比较(比如:int flot double等),值相同,"=="比较便会返回true.(这是编译的规则,当进行基本数据类型的比较时,会编译生成if_icmpne指令不会进行比较地址。而进行对象比较时,会生成if_icmpne指令,会比较地址。生成的指令都是不同的)。
洋仔聊编程
2019/01/15
4K0
如果正确读取SQL Server中的扩展事件?
    SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置。比如说内存或文件中,但无论存在哪里,其本质都是一个大XML。因此在SQL Server中读取该XML就是解析扩展事件结果的方式。     微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件的脚本,如代码清单1所示。 1: WITH events_cte 2: AS ( SELECT DATEADD(mi, 3:
用户1217611
2018/01/30
1.4K0
不同物种的的10x单细胞转录组参考数据文件构建
10x单细胞转录组数据分析所需要的参考数据文件主要是基因组的fasta文件和基因注释gtf文件,其官网有详细的例子:https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_mr
生信技能树
2022/03/03
1.2K0
不同物种的的10x单细胞转录组参考数据文件构建
[打造自己的监控系统之执行Oracle命令]获取Oracle数据文件创建的时间
上节讲到如何建立一个Oracle命令的界面,这节讲述如何利用Django获取Oracle数据文件的建立时间并显示出来
bsbforever
2020/08/19
1.1K0
Spring框架中有哪些不同类型的事件
如果一个bean实现了ApplicationListener接口,当一个ApplicationEvent 被发布以后,bean会自动被通知。 
红目香薰
2022/11/29
3500
MFC树点击事件中CTreeCtrl::HitTest用法以及uFlag参数的不同值的含义
CTreeCtrl::HitTest的语法结构: ​​​​​​​ HTREEITEM HitTest( CPoint pt, UINT* pFlags = NULL ) const; HTREEITEM HitTest( TVHITTESTINFO* pHitTestInfo ) const;  参数的取值及含义: Value 含义 TVHT_ABOVE 在客户端区域。 TVHT_BELOW 在工作区中。 TVHT_NOWHERE 在工作区,但是,在最后一项下。 TVHT
acoolgiser
2019/01/17
2K0
selec/poll中的读写事件和epoll中的读写事件
在Linux网络编程中,常常使用select和poll来做事件触发,监听socket的读写状态,然后进行读写操作。现在新的linux内核中,增加了epoll事件触发机制,具有更高的性能和更好的设计理念,可以用它来完全代替select和poll。相比于select,epoll最大的好处在于它不会随监听fd数目的增长而降低效率。因为在内核总的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件中有这样的声明: [cpp] view pl
李海彬
2018/03/22
3.2K0
ol中不同区域加载不同底图
牛老师讲GIS
2023/06/10
3300
ol中不同区域加载不同底图
Spring中的事件
文章目录 1. 简介 2. 事件 2.1. Spring中内置的事件 2.2. 自定义事件 3. 监听器 3.1. 实现ApplicationListener接口 3.2. 使用@EventListener注解 4. 事件发布 4.1. Spring的事件发布类 4.2. 直接注入 4.3. 使用ApplicationEventPublisherAware注入 5. 事件多播器 6. 异步事件 6.1. 使用@Async实现异步 6.2. 自定义事件多播器 7. 源码解析 简介 学过编程语言的肯定知道事
爱撒谎的男孩
2019/12/31
1.3K0
isa 指针中不同的位代表不同的含义
对象.isa -> 类.super -> 父类.super -> 根类.super -> nil
艳艳代码杂货店
2021/09/26
9480
linux环境中,两个不同网段的机器互通
host2 双网卡 eth0 172.24.100.14/16   eth1 192.168.122.214/24
用户1685462
2021/07/27
2.9K0
video标签在不同平台上的事件表现差异分析
本文作者:IMWeb 张颖 原文出处:IMWeb社区 未经同意,禁止转载 video标签属性和事件介绍 为了文章的完整性,首先还是列举一下video标签的属性: src :视频的属性 pos
IMWeb前端团队
2018/01/08
2.5K0
video标签在不同平台上的事件表现差异分析
然后列出可以用于视频状态监控的Media 事件(由媒介(比如视频、图像和音频)触发的事件,适用于所有html元素,但常用于 audio、embed、img、object 以及 video中):
IMWeb前端团队
2019/12/04
1.2K0
Sentry 监控 - Environments 区分不同部署环境的事件数据
Environment 是 Sentry 支持的 tag,您可以(并且应该)添加到您的 SDK 中。通常,tag 接受任何值,但它旨在指代代码部署的命名约定,例如开发(development)、测试(testing)、预发布(staging)或生产(production)。
为少
2021/10/12
2.1K0
jQuery中不同元素的作用
removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选元素进行添加/删除类的切换操作 css() - 设置或返回样式属性
用户7718188
2021/10/07
1.7K0
点击加载更多

相似问题

如何匹配两个大小不同的数据文件中的多个列?

10

匹配两个数据文件中的两列并提供不同的列

10

当数据文件有不同的大小时,合并两个数据文件

34

打印数据文件中不同的列名

13

日历中两个事件的不同时间

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文