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


R contrast (可能稀疏)对比矩阵


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

说明

返回对比矩阵。

用法

contr.helmert(n, contrasts = TRUE, sparse = FALSE)
contr.poly(n, scores = 1:n, contrasts = TRUE, sparse = FALSE)
contr.sum(n, contrasts = TRUE, sparse = FALSE)
contr.treatment(n, base = 1, contrasts = TRUE, sparse = FALSE)
contr.SAS(n, contrasts = TRUE, sparse = FALSE)

参数

n

因子的级别向量或级别数。

contrasts

指示是否应计算对比的逻辑。

sparse

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

scores

要计算正交多项式的值的集合。

base

一个整数,指定哪个组被视为基线组。如果 contrastsFALSE 则忽略。

细节

这些函数用于创建对比矩阵,用于方差和回归模型的拟合分析。结果矩阵的列包含可用于对具有 n 级别的因子进行编码的对比。返回的值包含计算的对比度。如果参数 contrastsFALSE,则返回方指示矩阵(虚拟编码),contr.poly 除外(其中包括 0 次,即 contrasts = FALSE 时的常数多项式)。

contr.helmert 返回 Helmert 对比,它将第二个级别与第一个级别进行对比,第三个级别与前两个级别的平均值进行对比,依此类推。 contr.poly 返回基于正交多项式的对比。 contr.sum 使用“对比总和为零”。

contr.treatment 将每个级别与基线级别(由 base 指定)进行对比:忽略基线级别。请注意,这不会产生线性模型标准理论中定义的‘contrasts’,因为它们与截距不正交。

contr.SAScontr.treatment 的包装器,它将基本级别设置为因子的最后一个级别。使用这些对比时产生的系数应该与许多(但不是全部)SAS 程序产生的系数相同。

为了保持一致性,sparse 是所有这些对比函数的参数,但是 sparse = TRUE for contr.poly 通常毫无意义,并且对于 contr.helmert 很少有用。

具有 n 行和 k 列的矩阵,如果 contrastsTRUE,则为 k=n-1;如果 contrastsFALSE,则为 k=n

例子

(cH <- contr.helmert(4))
apply(cH, 2, sum) # column sums are 0
crossprod(cH) # diagonal -- columns are orthogonal
contr.helmert(4, contrasts = FALSE) # just the 4 x 4 identity matrix

(cT <- contr.treatment(5))
all(crossprod(cT) == diag(4)) # TRUE: even orthonormal

(cT. <- contr.SAS(5))
all(crossprod(cT.) == diag(4)) # TRUE

zapsmall(cP <- contr.poly(3)) # Linear and Quadratic
zapsmall(crossprod(cP), digits = 15) # orthonormal up to fuzz

参考

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.

也可以看看

contrastsCaovglmlm

相关用法


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