R 从分钟中按小时分组求平均值

R 从分钟中按小时分组求平均值,r,R,下面是我正在使用的数据表的一个片段 timestamp temperature humidity 2017-01-01 05:00:00 1.6994955556 92.40667 2017-01-01 05:15:00 -1.0252000000 NA 2017-01-01 05:20:00 -1.0464666667 NA 2017-01-01 05:25:00 -1.0394000000 NA 2017-01-01 05:30:00 -1.12

下面是我正在使用的数据表的一个片段

timestamp            temperature    humidity
2017-01-01 05:00:00  1.6994955556   92.40667
2017-01-01 05:15:00 -1.0252000000   NA
2017-01-01 05:20:00 -1.0464666667   NA
2017-01-01 05:25:00 -1.0394000000   NA
2017-01-01 05:30:00 -1.1201333333   NA
2017-01-01 05:35:00 -1.1132000000   NA
2017-01-01 05:40:00 -1.0979333333   NA
2017-01-01 05:45:00 -1.1047333333   NA
2017-01-01 05:50:00 -1.0839333333   NA
2017-01-01 05:55:00 -1.0742666667   NA
2017-01-01 06:00:00  1.0925769231   92.27000
2017-01-01 06:05:00 -1.0227333333   NA
2017-01-01 06:10:00 -1.0104000000   NA
2017-01-01 06:15:00 -0.9828000000   NA
2017-01-01 06:20:00 -0.9466666667   NA
2017-01-01 06:25:00 -0.9382666667   NA
2017-01-01 06:30:00 -0.9409333333   NA
2017-01-01 06:35:00 -0.9480666667   NA
2017-01-01 06:40:00 -0.9214666667   NA
2017-01-01 06:45:00 -1.0034000000   NA
2017-01-01 06:50:00 -1.1557333333   NA
2017-01-01 06:55:00 -1.1392000000   NA
2017-01-01 07:00:00  0.9641743590   92.57500
2017-01-01 07:05:00 -1.2462666667   NA
2017-01-01 07:10:00 -1.2434000000   NA
2017-01-01 07:15:00 -1.3654000000   NA
2017-01-01 07:20:00 -1.4027333333   NA
2017-01-01 07:25:00 -1.4692666667   NA
2017-01-01 07:30:00 -1.2844666667   NA
2017-01-01 07:35:00 -1.2317333333   NA
2017-01-01 07:40:00 -1.3346666667   NA
2017-01-01 07:45:00 -1.2498000000   NA
2017-01-01 07:50:00 -1.2679333333   NA
2017-01-01 07:55:00 -1.3306666667   NA
2017-01-01 08:00:00  0.8240705128   92.84000
时间戳每5分钟记录一次。我打算按小时对时间戳进行分组,并找到该小时的平均温度,以便清除NA单元格。

在基数R中,您可以剪切每个小时的数据,并取平均温度:

使用lubridate,您可以使用地板/天花板日期获得每小时的间隔

library(dplyr)
library(lubridate)

df %>%
  group_by(hour = floor_date(timestamp, 'hour')) %>%
  summarise(temperatire = mean(temperature))
library(dplyr)
library(lubridate)

df %>%
  group_by(hour = floor_date(timestamp, 'hour')) %>%
  summarise(temperatire = mean(temperature))