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


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