当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。