在 r 中每 6 小时找到最大的值变化

问题描述

我有一个第一列有 2 列的数据框:日期-小时(每隔一小时观察一次),第二列是温度(th)。我试图找出特定时间内我的数据系列中最大的温度变化是多少(6个小时)?考虑两者,快速的温度升高和降低。我实现了一个函数来计算向量 x 的 max(x) 和 min(x) 之间的范围。然后在 rollapply 函数的 FUN = 参数中使用此函数(来自 zoo 包)。

t_range<- function(x)diff(range(x))
th<-Th %>%  mutate(t06 = rollapply(th,width = 6,FUN = t_range,fill = NA,align= "right",arrange = desc(th)))

但是我遇到了以下错误: 未使用的参数(排列 = c(.....

这里的arrange= ..有什么问题?

解决方法

您可以从 arrange = desc(th) 调用中删除 rollapply。在 rollapply 之前或之后包含它。还可以使用 rollapply(...,align = 'right') 简化 rollapplyr

library(dplyr)

th<- Th %>%  
      mutate(t06 = zoo::rollapplyr(th,width = 6,FUN = t_range,fill = NA)) %>%
      arrange(desc(th))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...