model.matrix 位於 stats 包(package)。 說明
model.matrix 創建一個設計(或模型)矩陣,例如,通過將因子擴展到一組虛擬變量(取決於對比)並類似地擴展交互。
用法
model.matrix(object, ...)
## Default S3 method:
model.matrix(object, data = environment(object),
             contrasts.arg = NULL, xlev = NULL, ...)
## S3 method for class 'lm'
model.matrix(object, ...)
參數
| object | |
| data | 使用  | 
| contrasts.arg | 一個列表,其條目是用作  | 
| xlev | 如果  | 
| ... | 傳入或傳出其他方法的進一步參數。 | 
細節
model.matrix 根據 terms(object) 中給出的說明創建一個設計矩陣,使用 data 中的數據,該矩陣必須提供與調用 model.frame(object) 創建的變量同名,或者更準確地說,通過評估 attr(terms(object), "variables") 。如果data是一個 DataFrame ,可能還有其他列,列的順序並不重要。任何字符變量都被強製為因子。強製轉換後,公式右側使用的所有變量都必須是邏輯、整數、數字或因子。
如果contrasts.arg為一個因子指定它會覆蓋該變量的默認因子編碼以及任何"contrasts"屬性設置為C或者contrasts。而無效contrasts.args 總是被忽略,從那時起他們就被警告R版本3.6.0。
在交互作用項中,水平變化最快的變量是第一個出現在公式中(而不是項中)的變量,因此在 ~ a + b + b:a 中,交互作用將使 a 變化最快。
按照慣例,如果響應變量也出現在公式的右側,則該變量將被刪除(並帶有警告),但涉及該項的交互作用將被保留。
值
具有指定公式和數據的 regression-like 模型的設計矩陣。
有一個屬性 "assign" ,它是一個整數向量,矩陣中的每一列都有一個條目,給出了產生該列的公式中的項。值 0 對應於截距(如果有),正值對應於與 object 對應的 terms 結構的 term.labels 屬性給出的順序中的項。
如果模型中存在任何因子,則會有一個屬性 "contrasts" ,這是一個命名列表,其中每個因子都有一個條目。這指定了將在通過對比對因子進行編碼的術語中使用的對比(在某些術語中可以使用虛擬編碼),作為命名函數的字符向量或數字矩陣。
例子
ff <- log(Volume) ~ log(Height) + log(Girth)
utils::str(m <- model.frame(ff, trees))
mat <- model.matrix(ff, m)
dd <- data.frame(a = gl(3,4), b = gl(4,1,12)) # balanced 2-way
options("contrasts") # typically 'treatment' (for unordered factors)
model.matrix(~ a + b, dd)
model.matrix(~ a + b, dd, contrasts.arg = list(a = "contr.sum"))
model.matrix(~ a + b, dd, contrasts.arg = list(a = "contr.sum", b = contr.poly))
m.orth <- model.matrix(~a+b, dd, contrasts.arg = list(a = "contr.helmert"))
crossprod(m.orth) # m.orth is  ALMOST  orthogonal
# invalid contrasts.. ignored with a warning:
stopifnot(identical(
   model.matrix(~ a + b, dd),
   model.matrix(~ a + b, dd, contrasts.arg = "contr.FOO")))
參考
Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
也可以看看
model.frame , model.extract , terms
sparse.model.matrix 來自包  Matrix ,用於創建稀疏模型矩陣,這在大維度上可能更有效。
相關用法
- R model.tables 計算 Aov 模型擬合的結果表
- R model.extract 從模型框架中提取組件
- R model.frame 從公式或擬合中提取模型框架
- R mood.test 情緒二樣本量表檢驗
- R monthplot 繪製時間序列中的季節性或其他子序列
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R mcnemar.test 計數數據的麥克尼馬爾卡方檢驗
- R mantelhaen.test 計數數據的 Cochran-Mantel-Haenszel 卡方檢驗
- R mahalanobis 馬哈拉諾比斯距離
- R manova 多變量方差分析
- R make.link 為 GLM 家庭創建鏈接
- R median 中值
- R makepredictcall 用於安全預測的實用函數
- R mauchly.test 莫奇利球形度檢驗
- R mad 中值絕對偏差
- R stlmethods STL 對象的方法
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R formula 模型公式
- R nls.control 控製 nls 中的迭代
- R aggregate 計算數據子集的匯總統計
- R deriv 簡單表達式的符號和算法導數
- R kruskal.test Kruskal-Wallis 秩和檢驗
- R quade.test 四方測試
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Construct Design Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
