查找最近的观察结果 - R

2023-12-14

我有两组(已排序的)POSIXct 时间序列,如下所示:

set.seed(123)
ll = sort(strptime("16/07/2015", format="%d/%m/%Y") + 10*3600 + 1:3600 + round(rnorm(3600), digits=3))
tt = sort(strptime("16/07/2015", format="%d/%m/%Y") + 10.2*3600 + 1:180*10 + round(rnorm(180), digits=3))
tplus = 0:180

where ll实际上有一些 10^5 的观察结果,tt10^3 - 10^4 和tplus长度为 10^3。从tt我构建了一个时间戳矩阵tt1通过增加tplus对每个观察tt:

tt1 = t(sapply(tt, function(x) x+tplus))

对于每个时间戳,我想知道最近的观察结果是什么ll(作为索引ll)。我可以这样计算:

tt2 = apply(tt1, c(1,2), function(x) max(which(ll <= x)))

但这很慢,我必须进行这种计算大约 10^3 次,那么我怎样才能加快速度呢?鉴于ll已排序并且tt1沿着列和行排序我希望可能存在一些东西。

看一下数据:

> head(ll)
[1] "2015-07-16 10:00:00.440 CEST" "2015-07-16 10:00:01.769 CEST" "2015-07-16 10:00:04.071 CEST" "2015-07-16 10:00:04.559 CEST"
[5] "2015-07-16 10:00:05.128 CEST" "2015-07-16 10:00:06.734 CEST"
> head(tt1[,1:4])
           [,1]       [,2]       [,3]       [,4] ...
[1,] 1437034330 1437034331 1437034332 1437034333
[2,] 1437034341 1437034342 1437034343 1437034344
[3,] 1437034350 1437034351 1437034352 1437034353
[4,] 1437034359 1437034360 1437034361 1437034362
[5,] 1437034371 1437034372 1437034373 1437034374
[6,] 1437034381 1437034382 1437034383 1437034384

以及预期的输出:

> head(tt2)
     [,1] [,2] [,3] [,4] ...
[1,]  729  729  731  732
[2,]  740  741  742  743
[3,]  748  749  751  752
[4,]  759  760  760  762
[5,]  770  772  773  774
[6,]  780  781  783  785

只需使用findInterval:

array(findInterval(tt1,ll),dim(tt1))
#head(array(findInterval(tt1,ll),dim(tt1))[,1:4])     
#     [,1] [,2] [,3] [,4]
#[1,]  729  729  731  732
#[2,]  740  741  742  743
#[3,]  748  749  751  752
#[4,]  759  760  760  762
#[5,]  770  772  773  774
#[6,]  780  781  783  785
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找最近的观察结果 - R 的相关文章

  • 将ggplot中条带标签的位置从顶部更改为底部?

    我知道这不完全是一个数据可视化问题 但老板要求这样做 所以我需要弄清楚是否可以 为 2016 年寻找答案的人提供答案 As of ggplot22 0 切换参数 http docs ggplot2 org current facet gri
  • dplyr 中 select() 的 contains() 和 matches() 之间的区别

    我决定花一些时间彻底学习dplyr 我刚刚遇到select 函数以及它附带的一些辅助函数 通过只是玩弄 我没能发现两者之间的任何区别contains and matches辅助功能 有人可以提供一个例子来说明如何将它们用于不同的目的吗 谢谢
  • 如何在Shiny App中点击tabPanel后跳转到另一个网页

    我有以下内容Shiny http shiny rstudio com app library shiny shinyApp ui lt shinyUI navbarPage X men tabPanel icon icon home lib
  • 在 R heatmap.2 中移动颜色键(gplots 包的功能)

    我现在阅读了 heatmap 2 帮助手册几次 并且在各种在线教程中我也没有读到有关将颜色键移动到不同位置的方法 现在 我想知道这是否可能 如果您使用 gplots 包中的 heatmap 2 函数 则默认情况下颜色键位于左上角 中每个元素
  • 从总和为所需总数的值列表中确定所有可能的组合

    一位朋友问我一个编程问题 关于如何确定一组值中所有可能的值组合可以相加以获得所需的总数 我有一个解决方案 但它不太优雅 它基本上只是一系列 for 循环和 if 语句 我确信 dplyr 有一个我想不到的解决方案 因为我知道它有多么有用 但
  • R 线图上的两个数据集,但使用相同的 X 和 Y 轴?

    我正在尝试在 R 中的图表上绘制两条线 数据与死囚区相关 CSV 有三列 第一列是年份 第二列是死囚区人口 第三列是当年的处决数量 我已经到了可以画两条 X 轴相同的线的地步 但由于值的范围相互重叠 Y 轴变得混乱 举个例子 每个给定的年份
  • 在 r 中使用 dbplyr 时,last() 函数的结果错误/错误

    我正在尝试跑步sql using r dbplyr并遇到了一个错误 错误结果使用时last 功能与dbplyr代码 我不确定我是否做错了或者是否确实存在错误 客观的 使用 dbplyr 从表中获取每个员工的最新状态 我尝试使用下面的代码来复
  • 具有变化比例的 gganimate(轴限制)

    我想使用创建一个 gifgganimate 但我的轴范围在一帧中变化很大 这导致所有后续帧都被挤压 In ggplot2的方面 有一个选择scales free 有没有办法让每一帧都有自由比例gganimate 这是一个例子 library
  • 将强化的 data.frame 转换回 sf 对象

    五十斯塔特包提供了一张很棒的美国地图 其中有夏威夷和阿拉斯加 如下图所示 对象五十 州已经得到加强 可以与 ggplot2 一起使用 但是 我想使用 geom sf 将其绘制为 sf 对象 作为一个更普遍的问题 将强化的 data fram
  • 为什么 ggplot2 图例不结合手动填充和缩放值?

    预期行为 如果我用 ggplot2 创建一个绘图并使用单独的形状和填充比例来描绘数据 我希望图例会在 白色 填充点 看起来是空心的 和 黑色 填充点 看起来不空洞的 在下面的示例代码中 Windows 的图例项应为白色空心点 Linux 的
  • 在闪亮仪表板中显示/隐藏菜单项

    当进入应用程序时 我需要隐藏一个菜单项 当用户选择某个值时 菜单项必须出现 我努力了shinyjs功能hidden 并且它隐藏了一个 menuItem 但是当使用show or toggle 菜单项不会出现 我发现了Rshinydashbo
  • 在 R 中使用两个 for 循环创建矩阵/数据框

    这是我在 SO 上的第一篇文章 所以请友善 我的问题与这个问题隐约相关 R中的双for循环创建矩阵 https stackoverflow com questions 44376020 double for loop in r creati
  • glmnet R 包中的 cv.glmnet 出现“drop(y %*% rep(1, nc)) 错误”错误

    我有一个返回 cv glmnet 模型的 auc 值的函数 尽管不是大多数时间 但在执行 cv glmnet 函数时 它经常返回以下错误 下降误差 y 代表 1 NC 在为函数 drop 选择方法时评估参数 x 时出错 y 中的错误 rep
  • 如何找到对象的创建位置?

    我目前正在努力改进对其他脚本有不同调用的代码 我想知道在哪里创建对象 对于其中一些人来说 只需使用文本编辑器的搜索选项即可 只要看看是否obj lt or obj 有什么结果 但这不适用于使用assign功能 在加载的脚本中创建的也不是 T
  • 数据集子集的回归

    我想做以下事情并需要一些帮助 分别计算 身高 与 年龄 的斜率和截距 lm Height Age 一 每个人 二 性别 并创建一个包含结果 斜率和截距 的表 我可以使用 申请 吗 在下一步中 我想做一个统计测试 以确定性别之间的斜率和截距是
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • R:使用 dcast 时包含没有条目的因子

    我在数据帧上使用 reshape2 函数 dcast 其中一个变量是某些级别未出现在数据框中的因素 但我会将所有值包含在创建的新列中 例如 假设我运行以下命令 library reshape2 dataDF lt data frame id
  • 为 PDF 输出添加 natbib 选项

    有没有办法指定natibib输出 PDF 时的选项bookdown 我希望 tex 输出具有命令 usepackage sort compress natbib 但似乎没有任何方法可以在 YAML 中指定它 我无法将命令添加到我的序言中 因
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw

随机推荐

  • 是否可以使用Javascript关闭Android浏览器?

    我想在网页中放置一个 关闭 按钮 我们的客户想要这样做 当我单击此按钮时 我想关闭浏览器 不是当前选项卡 而是 Android 浏览器 IE Firefox Chrome 等中的 浏览器 我查了一下 找到了一个方法 window close
  • 有没有办法用 Pillow 绘制渐变颜色的文本?

    我即将创建一个带有文字的图像 到目前为止一切正常 现在 为了进行微调 我认为使用渐变颜色的文本会很好 这就是我的重点现在 at 这就是我want具有 我已经成功生成了以下图像 使用该脚本 from PIL import Image Imag
  • Java中易失性和同步的区别

    我想知道将变量声明为volatile并且总是访问 a 中的变量synchronized this Java 中的块 根据这篇文章http www javamex com tutorials synchronization volatile
  • 表格行折叠/展开 css

    我正在使用以下示例Demo由 PSL 在网站上的帖子中提供 我有一个大表 当页面仅加载标题时 我不希望显示所有行 我应该改变border collapse collapse CSS 中的属性 在 dom 准备好后 你可以隐藏非 header
  • SQL java获取分配给自动增量主键的值[重复]

    这个问题在这里已经有答案了 我的表中有一个主键自动增量属性 我想知道为使用 statements executeUpdate 插入的行分配给它的值 如何以最好的方式实现这一目标 Use Statement getGeneratedKeys
  • Java 中的 Math.pow 错误

    我 显然 只是在学习编程 我似乎不知道该怎么做才能摆脱这个错误 错误位于倒数第二行 之前的行 System out print windChill 这里 写在下面 是 Java 生成的针对我遇到的错误的 可能提示 列表 expected m
  • 如何访问 iframe 复选框元素

    我有一个由复选框 父级 组成的网页 在同一个网页上 我还有一个来自另一个页面的 iframe 该页面显示许多记录 该页面还针对每条记录都有一个复选框 子级 如果我勾选父复选框 我想将其级联到 iframe 中的所有子复选框 并禁用这些子复选
  • 如何将参数从 Swift 本机代码“放入”Flutter

    我正在尝试将参数从 Swift 中的回调方法传递到 Flutter 这是我想要在我的本机 Java 代码中实现的示例 Override public void onRewardRequest final TJPlacement tjPlac
  • 阻止 Adob​​e Edge preload.js 文件加载 jquery

    首先我必须说 我不是一个专业的程序员 而是一个从实践中学习的设计师 因此 如果可能的话 恐怕我需要简单的解释 我在特定脚本的帮助下使用 Edge animate 作为网站的一部分 由 Andrew Trice 编写 请参见此处 http w
  • AngularJS:重用具有不同父级的组件

    假设我有 A 和 B 可重用组件 我希望 B 调用 A 上的方法 当然只有当 B 是 A 的子级时 此外 我希望 B 用作独立组件 没有 A 作为父级 在这种情况下 不应调用不存在的 A 中的方法 我的第一次尝试是在链接功能中获取控制器 与
  • Flask-Admin针对不同角色的不同表单和column_list

    跟进这个问题Flask Admin Role Based Access 根据角色修改访问权限我不明白如何实现基于角色的视图 特别是关于表单和列列表 说我想要MyModelView如果用户是普通用户或超级用户 则显示不同的列 覆盖is acc
  • Spring security AntMatcher 不工作

    这是我配置 spring security 的方式 在控制器中我获得 ROLE ANONYMOUS 作为权限 看起来安全性并没有拦截请求并检查 JWT 如何配置antmatcher Configuration EnableResourceS
  • 如何添加、编辑和删除数据库的逗号分隔值。?

    我创建了一个名为角色的表 字段类似于 角色ID 角色 禁止进程 禁止端口 这里角色ID是唯一的 我有一个逗号分隔的 prohibitedprocess 字段值 例如 prohibitedprocess gt skype teamviwer
  • Foundation 中的 Google 地图 API 显示模式无法正确显示 [重复]

    这个问题在这里已经有答案了 可能的重复 Reveal Modal 内的 Google Map API 未完全显示 我有一个位于 Reveal Modal 中的 Google Map API 对于那些不知道那是什么的人来说 它基本上是一个隐藏
  • spring-boot 基本 JSP 404 未找到

    无法使用 spring boot 加载非常简单的 JSP 页面 出现 404 Not Found src main java SampleWebJspApplication java Configuration EnableAutoConf
  • 在类中实现 Spinner 类型对象作为子进程

    我是一个完全的初学者 今天才开始上课 我试图制作一种 旋转器 对象 我可以称之为这样的东西 我感到困惑的一件事是是否使用 线程 线程 或 过程 我刚刚在某处读到 一个线程实例的成本为 8meg 因为这是一个简单的文本旋转器 它不保证使用大量
  • 使用 C 的 Beaglebone 黑色 PWM

    我用 C 语言为 beaglebone black 编写了一个示例 pwm 函数 每当我在其他模块或 main 中进行函数调用时 我都会遇到分段错误 请帮助我在哪里犯了错误以及如何处理这个问题 下面是代码 int trigger pwm o
  • 在渲染视图之前测量视图

    我需要找出将视图附加到其父视图后会有多大 我已经重写了这个方法 onMeasure int int 但看起来只有当我实际使用以下方法将自定义视图添加到其容器时才会调用此方法 addView myView 您认为有没有办法在渲染视图本身之前获
  • 编译OpenSSL时.rodata和-fPIC是什么意思?

    我正在尝试编译 openssl 但遇到错误 使用的 CFLAGS 是 O2 fPIC fno strict overflow 有人可以向我解释一下是什么吗 rodata下面这句话是什么意思 usr bin ld libcrypto a wp
  • 查找最近的观察结果 - R

    我有两组 已排序的 POSIXct 时间序列 如下所示 set seed 123 ll sort strptime 16 07 2015 format d m Y 10 3600 1 3600 round rnorm 3600 digits