每日汇总和R

时间:2018-10-15 09:57:52

标签: r

我正在尝试获取R中的每日平均温度读数。不幸的是,我的代码

df_energyData$temperature <- as.numeric(df_energyData$temperature)
aggregate(df_energyData[,1:2], by = list(df_energyData$time), FUN = mean)

每15分钟给我一个平均温度读数。

Group.1                time temperature
1    2018-08-15 00:15:00 2018-08-15 00:15:00          69
2    2018-08-15 00:30:00 2018-08-15 00:30:00          68
3    2018-08-15 00:45:00 2018-08-15 00:45:00          69
...

我的数据通常看起来像

time                 temperature
2018-08-15 00:15:00  69
2018-08-15 00:30:00  68
2018-08-15 00:45:00  69
...

很抱歉,所有内容的格式如何。一般而言,我是刚开始堆叠和编码的新手,所以我不确定如何使这些列表看起来很漂亮。

1 个答案:

答案 0 :(得分:0)

这是可行的解决方案

library(lubridate)
library(dplyr)

# Convert to date

data$time <- ymd_hms(data$time)

# Use date function to only use the datestamp

data %>% group_by(date(time)) %>% summarise(mean_temp = mean(temperature))

如果您熟悉%>%,并想在原始代码中使用聚合函数,则以下内容将为您提供相同的结果:

aggregate(data[, 2], by = list(date(data$time)), FUN = mean)