r - 滚动均方根而不是r中的均值
问题描述
假设我有 1 小时的数据,我可以使用以下代码通过滚动平均值将数据聚合为 2 小时和 3 小时的数据。
library(zoo)
h1<-c(2, 4, 6)
h2<-rollmean(h1,2)
h3<-rollmean(h1,3)
这是我从中得到的:
h2
[1] 3 5
h3
[1] 4
但是我想在聚合时使用root mean square
下面的函数而不是函数。mean
sqrt(mean(x^2))
以下是所需的输出:
h2_rms
[1] 3.162278 5.099020
h3_rms
[1] 4.320494
解决方案
您可以通过以下方式应用您自己的功能rollapply
:
library(zoo)
h1<-c(2, 4, 6)
rms <- function(x) sqrt(mean(x^2))
h2 <- rollapply(h1,2, rms)
h3 <- rollapply(h1,3, rms)
h2
#[1] 3.162278 5.099020
h3
#[1] 4.320494
推荐阅读
- java - 使用策略或附加类?
- wordpress - 在 Slider Revolution、Wordpress 中获取产品标签
- url-rewriting - 如何在 Xquery 的自定义重写器代码中包含 Marklogic rest-api?
- function - Go 函数中的函数参数
- javascript - 无法使用私有 IP 从 Cloud Functions 连接到 Cloud SQL SQL Server
- android - Espresso 测试随机失败,可能是时间问题
- angular - 在 Storybook (Angular) 上捕获 control.setValue 动作
- python - 在 ipywidgets 上更改 jupyter 中的指针光标
- python - 如何使用 Python 在 Selenium 中基于某些文本的存在单击按钮?
- go - 如何防止`go build`更新最新版本的模块