作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何获得双面“移动平均值”,该函数是对向量左右两侧的n个数字求平均值并根据它们与中心值的距离赋予权重的函数?
我尝试使用TTR,但其移动平均值仅从左到右起作用,并将最左边的值设置为NA。所以我不能使用平滑的向量作为smooth.spline的输入
最佳答案
在Zoo包中,rollmean
和rollapply
具有允许大量变化的参数。
library(zoo)
x <- seq(10)^2
# no NAs at end
rollmean(x, 3)
# NAs at ends
rollmean(x, 3, na.pad = TRUE)
# weighted mean
rollapply(zoo(x), 3, function(x) c(1, 2, 1) %*% x / 4)
# at ends take means of less than 3 points - needs devel version
# partial= is in development and at this point must use na.rm = TRUE to use partial
source("http://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/zoo/R/rollapply.R?revision=802&root=zoo")
rollapply(zoo(x), 3, mean, partial = TRUE, na.rm = TRUE)
partial = TRUE
,而是编写rule =“partial”或
rule = 3
。问题在于,随着新的最终规则被添加到开发版本中(现在有3条规则,并且在发布之前将添加第4条规则),每个规则都有单独的参数,会使用户界面困惑。此外,
rule
与R核心中的
approx
更加一致。实际上,
rule=1
和
rule=2
在
rollapply
和
approx
中(从R的核心开始)具有相同的含义,以实现更好的一致性和易用性。在开发版本中,当前示例中以下示例中围绕
mean
的括号是防止它调用尚未实现
rollmean
的
rule="partial"
的必要条件,但是在正式发布时,将不再需要这样做。
source("http://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/zoo/R/rollapply.R?revision=815&root=zoo")
rollapply(zoo(x), 3, (mean), rule = "partial")
关于r - 双面移动平均线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4418643/
我是一名优秀的程序员,十分优秀!