从高频措施中得出日均值

问题描述 投票:0回答:1

我有15分钟的空气温度观测数据 Temp 的数据,我想得出日均值。我一直在尝试使用 openair 包与 timeAverage 函数来得到这个答案,因为它允许用户设置一个允许缺失数据量的最小阈值,然后才会得出日均值。然而,我一直得到同样的错误信息,因为我无法找到变量-----------------------。date.

下面是我的数据框架的一个例子

> head(dat)
              Date Temp
1: 2001-01-01 0:00   NA     
2: 2001-01-01 0:15 -1.4
3: 2001-01-01 0:30 -1.1
4: 2001-01-01 0:45 -1.1
5: 2001-01-01 1:00 -0.9
6: 2001-01-01 1:15 -0.5

以下是我一直使用的代码

dailyAVG <- timeAverage(mydata = dat,
                        avg.time = "day",
                        data.thresh = 75,
                        statistic = "mean",
                        start.date = "2001-01-01 0:00")

产生以下错误信息

Can't find the variable(s) date 
Error in checkPrep(mydata, vars, type = "default", remove.calm = FALSE,  : 
r time-series average openair
1个回答
0
投票

我发现了一个黑客方法来绕过错误信息。我所做的是将 Date 在MS Excel中的列,以 date. 然后,我也在MS Excel中,重新设置了格式。date 列的格式为yyyy-mm-dd hh:mm。在做了这些修改后,我将.csv文件读入了 R 并做了如下调整。

这第一次修正,得到的是 date 的格式,变成一个 openair 喜欢

dat$date <- as.POSIXct(dat$date, tz = "", "%Y-%m-%d %H:%M")

修正后的 date 格式,我遇到了另一个与温度有关的问题。Temp 测量。由于某些原因,R将数值视为类字符,而它们应该是数字。这个问题已经用

dat$Temp <- as.numeric(dat$Temp)

在进行这些修正后,函数 timeAverage 使用下面的代码就可以了

dailyAVG <- timeAverage(mydata = dat,
                        avg.time = "day",
                        data.thresh = 75)
> dailyAVG
# A tibble: 2 x 2
  date                 Temp
  <dttm>              <dbl>
1 2001-01-01 00:00:00  3.01
2 2001-01-02 00:00:00  1.85
© www.soinside.com 2019 - 2024. All rights reserved.