问题描述
我有一个第一列有 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))