每天给定间隔的最大坡度

2023-12-26

我有一组时间序列数据,其中包含从三个不同位置在多天内每 10 分钟测量一次的地表温度(实际上是 2 年的数据)。我感兴趣的是计算每个站点每天任意 60 分钟间隔的最大斜率(温度升高速率)。

因此,本质上我希望每天工作 10 分钟,有 60 分钟的窗口,并计算每个窗口的斜率,然后确定最大斜率及其在一天中发生的时间。然后我想将此函数应用于数据集中的每一天。日期/时间采用以下格式 (%m/%d/%y %H:%M)。

我正在想象使用 ddply 和 Zoo 包和函数 rollapply 来执行类似伪代码的操作

ddply(数据, .(位置, 天), 函数(d) max(rollapply(坡度(d$温度~d$时间, 数据=d)))

其中“时间”是每天(每 10 分钟)内的时间,“天”只是日期,因此该函数可以应用于所有日期。显然,“斜率”不是 R 函数,必须编写它来计算实际斜率。

有谁对 Zoo 和 rollapply 有更多经验,或者可以想出另一种方法来解决这个问题?

我在此处包含了来自单个位置的一些示例数据(因此位置列已被删除)https://gist.github.com/natemiller/42eaf45747f31a6ccf9a https://gist.github.com/natemiller/42eaf45747f31a6ccf9a

感谢您的任何帮助, 内特

编辑:此后,我结合使用了下面的 geektrader 的 Joshua Ulrich 的答案,并使用基本代数将值转换回每小时 ℃ 的单位

    CperH<-dat$Temp-(dat$Temp/(1+dat$ROC))

效果很好。


您可以使用xts时间序列包非常适合时间序列分析。 结合TTR包,你可以很容易地得到你想要的东西。

require(xts)
require(TTR)
dat <- read.csv("https://gist.github.com/natemiller/42eaf45747f31a6ccf9a/raw/916443cfb353d82e8af6cdebdd80b2e956317b24/sampleTempData.csv")

dat.xts <- .xts(x = dat$Temp, index = as.POSIXct(strptime(dat$Date, format = "%m/%d/%y %H:%M")))
names(dat.xts) <- "Temp"
head(dat.xts)
##                     Temp
## 2011-04-11 03:48:00  9.5
## 2011-04-11 03:58:00  9.5
## 2011-04-11 04:08:00  9.5
## 2011-04-11 04:18:00  9.5
## 2011-04-11 04:28:00  9.5
## 2011-04-11 04:38:00  9.5


dat.xts$ROC <- ROC(dat.xts, n = 6)
head(dat.xts, 10)
##                     Temp ROC
## 2011-04-11 03:48:00  9.5  NA
## 2011-04-11 03:58:00  9.5  NA
## 2011-04-11 04:08:00  9.5  NA
## 2011-04-11 04:18:00  9.5  NA
## 2011-04-11 04:28:00  9.5  NA
## 2011-04-11 04:38:00  9.5  NA
## 2011-04-11 04:48:00  9.5   0
## 2011-04-11 04:58:00  9.5   0
## 2011-04-11 05:08:00  9.5   0
## 2011-04-11 05:18:00  9.5   0

dat.xts[which.max(dat.xts$ROC), ]
##                     Temp       ROC
## 2011-04-12 09:48:00 14.5 0.5340825


# If you want to do analysis on per day basis.
dat.xts <- .xts(x = dat$Temp, index = as.POSIXct(strptime(dat$Date, format = "%m/%d/%y %H:%M")))
names(dat.xts) <- "Temp"
head(dat.xts)
##                     Temp
## 2011-04-11 03:48:00  9.5
## 2011-04-11 03:58:00  9.5
## 2011-04-11 04:08:00  9.5
## 2011-04-11 04:18:00  9.5
## 2011-04-11 04:28:00  9.5
## 2011-04-11 04:38:00  9.5


ll <- split.xts(dat.xts, f = "days")


ll <- lapply(ll, FUN = function(x) {
    x$ROC <- ROC(x, 6)
    return(x)
})

max.ll <- lapply(ll, function(x) x[which.max(x$ROC), ])

max.ll
## [[1]]
##                     Temp       ROC
## 2011-04-11 13:38:00 20.5 0.4946962
## 
## [[2]]
##                     Temp       ROC
## 2011-04-12 09:48:00 14.5 0.5340825
## 
## [[3]]
##                     Temp       ROC
## 2011-04-13 10:18:00 15.5 0.4382549
## 
## [[4]]
##                     Temp       ROC
## 2011-04-14 10:38:00 14.5 0.3715636
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每天给定间隔的最大坡度 的相关文章

  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 在 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
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • 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
  • 只读取选定的列

    谁能告诉我如何仅读取下面每年数据的前 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
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 如何获得所有大于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
  • 在 Rcpp 中使用其他包中的 C 函数

    我试图从 C 函数中的 cubature 包调用 C 例程来执行多维积分 我试图重现的基本 R 示例是 library cubature integrand lt function x sin x adaptIntegrate integr
  • 如何在 R 或 Python 中制作旭日图?

    到目前为止 我一直无法找到一个可以创建旭日图的 R 库约翰 斯塔斯科 http www cc gatech edu gvu ii sunburst 有人知道如何在 R 或 Python 中实现这一点吗 在极坐标投影中使用 matplotli
  • 如何在 R 中匹配多个 ggplot2 图中的调色板?

    自从被问到这个问题以来已经有一段时间了 但我知道一个事实 我很快就会提取新数据 我想弄清楚如何用这种技术来绘制它 看起来评论和答案中的人知道如何做到这一点 但我无法完全弄清楚所给我的内容 还有人想尝试一下吗 我正在尝试使用具有多个级别的因子
  • applyStrategy 错误

    我是R新手 最近运行后遇到以下错误applyStrategy函数来自quantstrat包裹 Error in eval expr envir enclos object signal not found Error in colnames
  • R:使用 tidyverse 将 NA 替换为 df 中的其他变量

    我想使用 tidyverse 替换 df 中的 NA 值 我想要的值应该从其他列中计算出来 input ID X1 X2 X3 A 0 96 NA 0 97 B 1 00 NA 1 01 C 0 98 0 03 NA A 1 00 NA 1
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何修复 R 中 Kaplan Meier 图的风险表计算错误

    以下是一个数据帧 其中 6 个参与者中的每一个都有唯一的 record ID 我想绘制一个生存分析图 其中包含感兴趣事件的复发以及在时间间隔 tstart 到 tstop 内 暴露 药物剂量 数值变量 的时间依赖性协变量 每个参与者的最大
  • 在 Shiny 中的用户会话之间共享反应数据集

    我有一个相当大的反应数据集 该数据集是通过轮询文件然后按预定义的时间间隔读取该文件而派生的 数据更新频繁 需要不断重新加载 诚然 重新加载可以增量完成并附加到 R 中的现有对象 但事实并非如此 然而目前 尽管会话中的数据相同 但此操作是针对

随机推荐

  • Julia UndefVarError:未定义子类型

    不清楚为什么我得到ERROR LoadError UndefVarError subtypes not defined执行 jl 文件时 但从 REPL 执行时则不然 E g abstract type Asset end abstract
  • 使用 Eclipse 在远程计算机中运行 Spark/Cloudera 应用程序

    我在理解使用 Scala Spark shell 和 Hadoop 环境进行开发的逻辑架构时遇到了一些问题 为了更好地描述逻辑架构 我画了一个小架构 如图所示 我在我的个人电脑上安装了 Eclipse 我想以远程模式从我的电脑运行 scal
  • C++ Windows API - 如何检索字体缩放百分比

    我想检索 把文字变大 C Windows API 应用程序中的百分比 我知道如何检索缩放 DPI 系数 但我还想包括字体缩放百分比 请参阅附图 上值 而不是下值 最终 我想要制作保留用户字体和 DPI 缩放设置的应用程序 以便完全支持辅助功
  • Kivy 日期选择器小部件

    已解决 请参阅下面的已接受答案的应用程序和功能 kivy DatePicker 小部件的源代码 我一直在学习 Kivy 并决定制作一个日期选择器小部件作为学习练习 import kivy kivy require 1 4 0 from ki
  • 在android中将SQLite数据库与远程mysql数据同步

    android中如何同步SQLite数据库和远程MySQL数据 为了说清楚 我想知道sqlite数据和远程mysql之间的同步是如何工作的 即 当远程mySQL数据库更新时 SQLite数据也应该更新 而无需按下任何按钮或向下滚动 如何使用
  • 使用线程打印奇偶数

    使用线程打印奇偶数 创建一个线程类 两个线程实例 一个将打印奇数 另一个将打印偶数 我做了以下编码 但到了死锁状态 有人可以解释一下这可能是什么原因吗 public class NumberPrinter implements Runnab
  • 我可以在某些列值上使用 pandas 数据框读取一系列行吗?

    这是我的数据 prakash 101 Ram 107 akash 103 sakshi 115 vidushi 110 aman 106 lakshay 99 我想从中选择所有行akash to vidushi或所有行Ram to aman
  • UICollectionview rollToItemAtIndexPath,在动画完成之前不加载可见单元格

    我有一个UICollectionView有 142 个电池 7 5 随时可见 我正在从以下位置移动一个单元格indexPath0 表示 100 但我也想滚动到那个新位置 下面的代码工作正常 但它对移动和滚动进行动画处理 然后加载中央 移动单
  • 如何向 WiX 工具集添加可选 UI

    我已经为项目部署制作了一个安静的安装程序 无需单击任何按钮 但安装过程中会显示一些进度条 这次我想添加一个可选的图形用户界面 默认情况下 当给出参数时 安装程 序应该直接运行而不单击任何内容 比方说 msiexec范围 qf 安装程序会弹出
  • Eclipse:在 log4j.xml 中引用 log4j.dtd

    我已经使用 log4j 有一段时间了 我通常在 log4j xml 的顶部使用它 可能就像许多其他人一样 根据 Google 的说法 这是the方法 显然这是可行的 但是 Eclipse 不提供用于编写 XML 等内容的上下文相关帮助 此外
  • webkit-transform 覆盖 Chrome 13 中的 z-index 排序

    Update 抱歉未能添加我们也分层了很多的小细节div元素彼此叠加z index 在对这个问题进行更多研究之后 似乎webkit transform实际上与z index顺序 并且实际问题与动画本身无关 结束更新 我目前正在开发一个应用程
  • 为什么 getElementsByTagName 返回未定义?

    我正在尝试打电话document getElementsByTagName 我回来了undefined结果 无论我传递什么参数 即使我通过了 我尝试用谷歌搜索它 但所有搜索结果都是关于 getElementsByTagName 结果数组的元
  • C# 字典到 .csv

    我有 C Dictionary我想创建一个 csv从中获取文件 例如我有这本字典 Dictionary
  • 设置 Visual Studio 的“附加到进程”对话框中显示的“标题”值?

    当您在 Visual Studio 中选择 调试 附加到进程 时 显示的对话框具有 标题 列 默认情况下 这显示属于该进程的主窗口的标题 例如 它可能会显示 这是一个漆黑的暴风雨之夜 记事本 如何为没有主窗口的应用程序 例如 Windows
  • 为什么不对临时对象进行非常量引用? [复制]

    这个问题在这里已经有答案了 C 只允许将临时对象分配给 const 引用 它不允许分配临时对象来引用 例如 String a String test Error const String a String test Ok 我到处谷歌搜索这个
  • 为什么我的 ES6(使用 Babel)类在实例方法中显示“this”未定义?

    我正在使用 Hapi JS 在 Node 中构建一个应用程序 我有一个身份验证插件类 它给我带来了各种各样的问题 当我尝试引用时this从类的方法中 我收到一条错误消息this未定义 为什么会发生这种情况 摘录 class OAuth co
  • Spring:将某种类型的数组或列表注入到 bean 中

    如果我有一个界面I以及一些实现它的类 是否可以注入数组I or List i 变成豆子 我发现这可以做到List using i
  • PHP/CodeIgniter - 在 __construct() 中设置变量,但无法从其他函数访问它们

    我很高兴遇到了一些变量范围问题 也许我只是需要更多咖啡 这是我的 简化的 代码 这是在 CodeIgniter 2 中 class Agent extends CI Controller public function construct
  • 如何识别扫描的PDF文件中的图像?

    我正在尝试识别扫描的 PDF 文件中的图像 而不是文本 最好使用 python 有什么办法可以做到这一点吗 举一个简单的例子 假设您扫描了一本书的一章 页面有三种可能的选项 仅包含文字 仅包含一张 或多张 图像 包含文本和图像 我想输出属于
  • 每天给定间隔的最大坡度

    我有一组时间序列数据 其中包含从三个不同位置在多天内每 10 分钟测量一次的地表温度 实际上是 2 年的数据 我感兴趣的是计算每个站点每天任意 60 分钟间隔的最大斜率 温度升高速率 因此 本质上我希望每天工作 10 分钟 有 60 分钟的