R語言
smoothEnds
位於 stats
包(package)。 說明
使用隨後較小的中位數和最後的 Tukey 終點規則來平滑向量 y
的終點。 (奇數跨度),
用法
smoothEnds(y, k = 3)
參數
y |
要平滑的因變量(向量)。 |
k |
最大中值窗口的寬度;一定是奇數。 |
細節
smoothEnds
僅用於進行“終點平滑”,即最多更改比窗口 k
一半更接近開始/結束的觀測值。第一個和最後一個值是使用 Tukey 的終點規則計算的,即 sm[1] = median(y[1], sm[2], 3*sm[2] - 2*sm[3], na.rm=TRUE)
。
在R版本 3.6.0 及更早版本,缺失值 (NA
) 在y
通常會導致錯誤,而現在相當於median(*, na.rm=TRUE)
被使用。
值
平滑值向量,長度與 y
相同。
例子
require(graphics)
y <- ys <- (-20:20)^2
y [c(1,10,21,41)] <- c(100, 30, 400, 470)
s7k <- runmed(y, 7, endrule = "keep")
s7. <- runmed(y, 7, endrule = "const")
s7m <- runmed(y, 7)
col3 <- c("midnightblue","blue","steelblue")
plot(y, main = "Running Medians -- runmed(*, k=7, endrule = X)")
lines(ys, col = "light gray")
matlines(cbind(s7k, s7.,s7m), lwd = 1.5, lty = 1, col = col3)
eRules <- c("keep","constant","median")
legend("topleft", paste("endrule", eRules, sep = " = "),
col = col3, lwd = 1.5, lty = 1, bty = "n")
stopifnot(identical(s7m, smoothEnds(s7k, 7)))
## With missing values (for R >= 3.6.1):
yN <- y; yN[c(2,40)] <- NA
rN <- sapply(eRules, function(R) runmed(yN, 7, endrule=R))
matlines(rN, type = "b", pch = 4, lwd = 3, lty=2,
col = adjustcolor(c("red", "orange4", "orange1"), 0.5))
yN[c(1, 20:21)] <- NA # additionally
rN. <- sapply(eRules, function(R) runmed(yN, 7, endrule=R))
head(rN., 4); tail(rN.) # more NA's too, still not *so* many:
stopifnot(exprs = {
!anyNA(rN[,2:3])
identical(which(is.na(rN[,"keep"])), c(2L, 40L))
identical(which(is.na(rN.), arr.ind=TRUE, useNames=FALSE),
cbind(c(1:2,40L), 1L))
identical(rN.[38:41, "median"], c(289,289, 397, 470))
})
作者
Martin Maechler
參考
John W. Tukey (1977) Exploratory Data Analysis, Addison.
Velleman, P.F., and Hoaglin, D.C. (1981) ABC of EDA (Applications, Basics, and Computing of Exploratory Data Analysis); Duxbury.
也可以看看
runmed(*, endrule = "median")
調用 smoothEnds()
。
相關用法
- R smooth Tukey 的(運行中值)平滑
- R smooth.spline 擬合平滑樣條曲線
- R stlmethods STL 對象的方法
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R summary.lm 總結線性模型擬合
- R screeplot 屏幕圖
- R sortedXyData 創建一個sortedXyData對象
- R sigma 提取殘餘標準差“Sigma”
- R setNames 設置對象中的名稱
- R stat.anova GLM 方差分析統計
- R scatter.smooth 黃土擬合的平滑曲線散點圖
- R splinefun 插值樣條曲線
- R spec.taper 通過餘弦鍾錐化時間序列
- R summary.princomp 主成分分析的匯總方法
- R symnum 符號數字編碼
- R se.contrast 模型術語對比的標準誤差
- R summary.aov 方差模型分析總結
- R stepfun Step Functions - 創建和類
- R shapiro.test 夏皮羅-威爾克正態性檢驗
- R selfStart 構建自啟動非線性模型
- R spec.pgram 通過平滑周期圖估計時間序列的譜密度
- R spec.ar 通過 AR Fit 估計時間序列的頻譜密度
- R supsmu 弗裏德曼的超級平滑
- R stl Loess 時間序列的季節分解
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 End Points Smoothing (for Running Medians)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。