當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R medpolish 矩陣的中值波蘭(穩健雙向分解)


R語言 medpolish 位於 stats 包(package)。

說明

使用 Tukey 的中值拋光程序擬合加性模型(雙向分解)。

用法

medpolish(x, eps = 0.01, maxiter = 10, trace.iter = TRUE,
          na.rm = FALSE)

參數

x

一個數字矩陣。

eps

大於 0 的實數。收斂容差:請參閱“詳細信息”。

maxiter

最大迭代次數

trace.iter

合乎邏輯的。是否應該報告融合方麵的進展?

na.rm

合乎邏輯的。是否應該刪除缺失值?

細節

擬合的模型是可加的(常數+行+列)。該算法的工作原理是交替刪除行和列中位數,並繼續進行,直到絕對殘差總和的比例減少小於 eps 或直到進行了 maxiter 迭代。如果 trace.iterTRUE ,則在擬合過程的每次迭代中打印絕對殘差之和。如果na.rmFALSE,則x 中存在任何NA 值都會導致錯誤,否則NA 值將被忽略。

medpolish 返回類 medpolish 的對象(見下文)。該類有打印和繪圖方法,通過泛型 printplot 調用。

medpolish 的對象,具有以下命名組件:

overall

擬合常數項。

row

擬合的行效應。

col

擬合的列效果。

residuals

殘差。

name

數據集的名稱。

例子

require(graphics)

## Deaths from sport parachuting;  from ABC of EDA, p.224:
deaths <-
    rbind(c(14,15,14),
          c( 7, 4, 7),
          c( 8, 2,10),
          c(15, 9,10),
          c( 0, 2, 0))
dimnames(deaths) <- list(c("1-24", "25-74", "75-199", "200++", "NA"),
                         paste(1973:1975))
deaths
(med.d <- medpolish(deaths))
plot(med.d)
## Check decomposition:
all(deaths ==
    med.d$overall + outer(med.d$row,med.d$col, `+`) + med.d$residuals)

參考

Tukey, J. W. (1977). Exploratory Data Analysis, Reading Massachusetts: Addison-Wesley.

也可以看看

median; aov 用於均值分解而不是中值分解。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Median Polish (Robust Twoway Decomposition) of a Matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。