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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。