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


R contrasts 获取和设置对比矩阵


R语言 contrasts 位于 stats 包(package)。

说明

设置并查看与某个因子相关的对比。

用法

contrasts(x, contrasts = TRUE, sparse = FALSE)
contrasts(x, how.many = NULL) <- value

参数

x

一个因子或一个逻辑变量。

contrasts

合乎逻辑的。查看具体信息'。

sparse

逻辑指示结果是否应该稀疏(类 dgCMatrix ),使用包 Matrix

how.many

指示应进行多少次对比的整数。默认为 x 的级别数少 1。这不必与 value 的列数相同。

value

一个数值矩阵(或者从包 Matrix 扩展 dMatrix 的类的稀疏或密集矩阵),其列给出 x 级别对比的系数,或者(引用的名称)计算此类的函数矩阵。

细节

如果没有为因子设置对比,则使用 options("contrasts") 中的默认函数。

逻辑向量 x 转换为具有级别 c(FALSE, TRUE) 的 two-level 因子(无论变量中出现哪个级别)。

如果 x 具有矩阵 contrasts 属性集,则忽略参数 contrasts。否则,如果contrasts = TRUE,它将传递给对比函数,例如contr.treatment,如果contrasts = FALSE,则返回单位矩阵。合适的函数具有第一个参数(级别的字符向量)、命名参数 contrasts (始终使用 contrasts = TRUE 调用)和可选的逻辑参数 sparse

如果value 提供多于how.many 对比,则使用第一个how.many。如果提供的数量太少,则在确保其列是对比(与常数项正交)且不共线后,通过扩展value来创建合适的对比矩阵。

例子

utils::example(factor)
fff <- ff[, drop = TRUE]  # reduce to 5 levels.
contrasts(fff) # treatment contrasts by default
contrasts(C(fff, sum))
contrasts(fff, contrasts = FALSE) # the 5x5 identity matrix

contrasts(fff) <- contr.sum(5); contrasts(fff)  # set sum contrasts
contrasts(fff, 2) <- contr.sum(5); contrasts(fff)  # set 2 contrasts
# supply 2 contrasts, compute 2 more to make full set of 4.
contrasts(fff) <- contr.sum(5)[, 1:2]; contrasts(fff)

## using sparse contrasts: % useful, once model.matrix() works with these :
ffs <- fff
contrasts(ffs) <- contr.sum(5, sparse = TRUE)[, 1:2]; contrasts(ffs)
stopifnot(all.equal(ffs, fff))
contrasts(ffs) <- contr.sum(5, sparse = TRUE); contrasts(ffs)

参考

Chambers, J. M. and Hastie, T. J. (1992) Statistical models. Chapter 2 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

也可以看看

Ccontr.helmertcontr.polycontr.sumcontr.treatmentglmaovlm

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Get and Set Contrast Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。