使用 R 计算时间序列中的间隙大小

2023-12-10

假设我有一个包含时间序列的数据框,如下所示:

Date                value
2000-01-01 00:00:00  4.6
2000-01-01 01:00:00  N/A
2000-01-01 02:00:00  5.3
2000-01-01 03:00:00  6.0
2000-01-01 04:00:00  N/A
2000-01-01 05:00:00  N/A
2000-01-01 06:00:00  N/A
2000-01-01 07:00:00  6.0

我想找到一种有效的方法来计算间隙的大小(连续 N/A 的数量)并将其添加到数据帧的新列中以获得以下结果:

Date                value  gap_size
2000-01-01 00:00:00  4.6      0
2000-01-01 01:00:00  N/A      1
2000-01-01 02:00:00  5.3      0
2000-01-01 03:00:00  6.0      0
2000-01-01 04:00:00  N/A      3
2000-01-01 05:00:00  N/A      3
2000-01-01 06:00:00  N/A      3
2000-01-01 07:00:00  6.0      0

我的数据框实际上有超过 600 万行,所以我正在寻找计算方面最便宜的方法。请注意,我的时间序列在整个数据集(1 小时)上是等间隔的。


你可以尝试使用rle在这种情况下生成游程长度。首先,使用以下方法将值列转换为逻辑值:is.na并申请rle它提供输入向量的不同值的游程长度。在本例中,两个类别是 TRUE 和 FALSE,您正在计算它们运行的​​时间。那么你可以rep通过游程长度来引用它以获得您正在寻找的输出。

x = c(1,2,4,NA,NA,6,NA,19,NA,NA)
res = rle(is.na(x))
rep(res$values*res$lengths,res$lengths)
#> [1] 0 0 0 2 2 0 1 0 2 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 R 计算时间序列中的间隙大小 的相关文章

  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • R 中的列乘以子字符串

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

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

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 如何获得所有大于x且有位置的数字?

    V lt c 1 3 2 4 2 3 1 X lt 3 pos lt V V X pos is 3 3 我需要的是所有 3 个的位置 I need 2 and 6 哪些职位是3 in V Use which pos lt which V 3
  • 计算 R 中各列的唯一值

    我正在尝试创建一个新变量 其中包含来自两个不同列的字符串值的唯一计数 所以我有这样的东西 例如 A tibble 4 x 2 names partners
  • 所有 x 轴标签未以 45 度显示

    I m having the code as like below But I m not getting all the x axis labels and it is not displaying in 45 degree when I
  • 如何从 R 中的 txt 文件读取矩阵?

    我有一个带有矩阵的txt文件 Matrix txt 重要 数字之间没有空格 0100 1001 1100 我想在 R 中将其作为矩阵读取 我该怎么做 我尝试使用 as matrix read table Matrix txt sep 但失败
  • 实三次多项式的最快数值解?

    R 问题 寻找最快的方法来数值求解一堆已知具有实系数和三个实根的任意三次方程 据报道 R 中的 polyroot 函数对复杂多项式使用 Jenkins Traub 算法 419 但对于实多项式 作者参考了他们早期的工作 对于实三次或更一般的
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works

随机推荐

  • 如何获取远程文件的上次修改日期

    我需要获取远程文件的文件修改日期 明显地 attributes在这个例子中返回NULL BOOL fileHasBeenModifiedSinceLastLaunch NSError err nil NSDictionary attribu
  • 在 MS-SQL 中将行数据分组并求和到列中?

    原始问题 我不知道我是否应该提出一个新问题或取消标记最后一个问题 所以 我想做的是 WorkWeek Catg Item Cost WorkWeek1 Cat1 Item1 Price WorkWeek1 Cat1 Item2 Price
  • 使用正则表达式删除 JavaScript

    我无法使用 C 从 HTML 页面中删除所有 javascript 我有三个正则表达式 它们删除了很多 但也错过了很多 使用 MSHTML DOM 解析器解析 javascript 会导致 javascript 实际运行 这是我试图通过使用
  • Bootstrap / CSS - 输入、按钮和选择在同一行

    我试图使用 bootstrap css 将输入 按钮和选择放在同一行中 但是select 根据其内容大小 将转到下一行 如下所示 我能做些什么 这是 HTML 的部分 div class form inline div class form
  • {}.toString() 未捕获的语法错误:意外的标记

    当我在 chrome 开发工具中尝试时 它显示Uncaught SyntaxError Unexpected token 但是 如果当它分配给a var a toString a object Object 是什么造成了这种差异 是什么造成
  • CoffeeScript 的存在运算符如何工作?

    Coffeescript 使用存在运算符来确定变量何时存在 并且在咖啡脚本文档它表明something 将编译为something undefined something null但是我注意到我的咖啡脚本版本只是将其编译为something
  • 如何使用 Prolog 删除列表中的偶数

    我需要删除第一个列表中的所有偶数并将其余的保存到第二个列表中 我的第一个非工作方法是 remove even remove even H1 T1 H2 T2 H1 mod 2 0 remove even T1 remove even H1
  • 在SQL中批量插入.txt文件

    我正在尝试将 txt 文件导入高级查询工具 我使用的 SQL 客户端 到目前为止 我有 CREATE TABLE tb test id INTEGER name varchar 10 dob date city char 20 state
  • 使用 C# .NET 中的 XDocument 库删除内部节点,但不删除 xml 中的值

    我有以下 XML 文件 p span class screenitems Add span p 我要删除它 span 节点但是Add存在 所以最后看起来如下 p Add p 有没有好的 简单的方法来做到这一点 Use ReplaceWith
  • VS 2015许可证已过期

    我昨天 2015年7月21日 从我的MSDN帐户下载了VS 2015 enterprise 发布版 并将其安装在全新的W8 1 pro机器上 是的 遗憾的是 我无法将Win8 1 Pro升级到Enterprise https superus
  • “索引包失败”

    在克隆 git 存储库时 我收到一条我不太明白的错误消息 git clone email protected group07 Initialized empty Git repository in cygdrive C Users Mart
  • 拉取全局环境中具有特定属性的所有对象

    假设我有一个全局环境中的对象列表 我如何只提取那些具有特定属性集的内容 x1 lt 1 10 x2 lt 1 10 x3 lt 1 10 x4 lt 1 10 x5 lt 1 10 attr x1 foo lt bar attr x5 fo
  • 每次导入 Tensorflow 时都会发出警告 - “未找到 cudart64_101.dll”。有没有办法只消除这个警告?

    2021 01 26 17 13 35 314383 W tensorflow stream executor platform default dso loader cc 55 Could not load dynamic library
  • 使用迭代参数的 SSRS 创建报告

    我正在修改现有的报告 该报告设置为让您查看每个销售代表的统计信息 您可以通过更改参数来完成此操作sales rep在报告视图中 我需要修改报告 以便它可以为每个销售代表显示一个页面 然后 该数据将导出到 Excel 每个销售代表的统计数据将
  • 无法在 R 上加载 rJava

    我希望在 R x64 3 1 2 中加载 rJava 操作系统 Windows 8 1 64 位 虽然安装似乎工作正常 gt install packages rJava Installing package into C Users so
  • 使用 Rails 多态性进行嵌套注释

    我需要在 Rails 3 应用程序中构建一个嵌套评论系统 允许对许多模型 文章 帖子等 进行评论 并且正在讨论按照以下方式滚动我自己的解决方案这个帖子 有可用的宝石 例如acts as commentable with threading
  • 访问远程 bean 时 CORBA 内部出现异常

    在装有 Glassfish 4 0 和 JDK 1 7 55 的 Windows Server 上 我收到 NoClassDefFoundError 和 ClassNotFoundException 然后调用远程 bean 方法 Stand
  • Xpath:查找类包含空格的元素

    所以我有看起来像这样的元素 li class attribute li note the space li class attribute li 使用 xpath li class attribute 将获得第二个元素但不是第一个 如何获得
  • 数据表 - 数据表外部的搜索框

    我正在使用数据表 数据表网 并且我希望我的搜索框位于表格之外 例如在我的标题 div 中 这可能吗 您可以使用 DataTables api 来过滤表 因此 您所需要的只是您自己的输入字段 其中包含一个 keyup 事件 该事件会触发 Da
  • 使用 R 计算时间序列中的间隙大小

    假设我有一个包含时间序列的数据框 如下所示 Date value 2000 01 01 00 00 00 4 6 2000 01 01 01 00 00 N A 2000 01 01 02 00 00 5 3 2000 01 01 03 0