gpt4 book ai didi

r - 仅当特定百分比的数据可用时才使用 rollapply 计算平均值

转载 作者:行者123 更新时间:2023-12-01 13:32:08 25 4
gpt4 key购买 nike

我有一列每小时数据,想使用 rollapply 计算每小时的 24 小时滚动平均值。我的数据包含 NA,如果 24 小时内 75% 的数据可用,我只想计算滚动平均值,否则我希望考虑 24 滚动平均值 NA

  df %>%
mutate(rolling_avg = rollapply(hourly_data, 24, FUN = mean ,align = "right", fill = NA ))

如何修改上面的代码来完成这个?

最佳答案

定义一个函数来完全按照你所说的去做:

f <- function( v ) {
if( sum(is.na(v)) > length(v)*0.25 ) return(NA)
mean(v, na.rm = TRUE)
}

然后用它代替mean:

df %>% mutate(rolling_avg = rollapply(hourly_data, 24, FUN = f, 
align = "right", fill = NA ))

关于r - 仅当特定百分比的数据可用时才使用 rollapply 计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com