有没有办法获得 X 分钟内的平均值,同时还基于 R 中的组进行平均?

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

我试图根据下面代码中的分组来获取一定时间(例如 30 分钟)内的平均温度

group_by(Type, Rainfall, datetime)
。我想这是我需要在基于组进行平均之前进行平均的东西,但也许有一种方法...... 我什至不知道如何尝试这个,所以任何帮助都会很可爱!

df_Temps1.means <- df_Temps1 %>% 
  group_by(Type, Rainfall, datetime) %>% 
  summarise(Temp_mean=mean(temperature, na.rm=TRUE), n=n(), sd=sd(temperature, na.rm=TRUE), se=sd/sqrt(n))
df_Temps1.means$se<-as.numeric(df_Temps1.means$se)
df_Temps1.means$Temp_mean<-as.numeric(df_Temps1.means$Temp_mean)
df_Temps1.means

这是我正在使用的数据框的一部分:

r dataframe datetime mean
1个回答
0
投票

你绝对可以做到,

首先将“datetime”转换为 POSIXct 对象以进行基于时间的计算:

df_Temps1$datetime <- as.POSIXct(df_Temps1$datetime)

然后计算30分钟间隔:

df_Temps1 <- df_Temps1 %>% 
mutate(interval = cut(datetime, breaks = "30 min"))

然后按“类型”、“降雨量”和“间隔”分组,然后计算平均温度:

df_Temps1.means <- df_Temps1 %>% 
group_by(Type, interval) %>%
summarise(Temp_mean = mean(temperature, na.rm = TRUE))
© www.soinside.com 2019 - 2024. All rights reserved.