1

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

安排 = .. 的问题是什么?

4

1 回答 1

0

您可以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))
于 2021-01-13T06:14:08.250 回答