我正在尝试获取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
...
很抱歉,所有内容的格式如何。一般而言,我是刚开始堆叠和编码的新手,所以我不确定如何使这些列表看起来很漂亮。
答案 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)