當建立一個模型矩陣,我注意到,與具有2倍以上的值的變量打交道時,模型矩陣似乎隨機地選擇爲列要使用的變量:限定在model.matrix控制值
在示例1:
diet <- factor(c('high','high','control','control','low','low'))
sex <- factor(c("f","f","m","f","m","m"))
model.matrix(~ diet + sex)
(Intercept) diethigh dietlow sexm
1 1 1 0 0
2 1 1 0 0
3 1 0 0 1
4 1 0 0 0
5 1 0 1 1
6 1 0 1 1
飲食=對照,並且性別= f被推斷。在飲食的情況下,控制被忽略了,所以我對矩陣感到滿意。
在實施例2:
diet <- factor(c('high','high','med','med','low','low'))
sex <- factor(c("f","f","m","f","m","m"))
model.matrix(~ diet + sex)
(Intercept) dietlow dietmed sexm
1 1 0 0 0
2 1 0 0 0
3 1 0 1 1
4 1 0 1 0
5 1 1 0 1
6 1 1 0 1
飲食=高是缺少的變量。現在我知道這可能是迂腐的,因爲我知道R不關心。但有指定哪些變量應該被排除在外(在這種情況下,我想減肥=中到是控制權,因此離開了)
我發現網上的東西就在這裏再平層:http://genomicsclass.github.io/book/pages/expressing_design_formula.html這是正確的方式來做到這一點? – kmace
是的,這將是我的方法 – Raad
請參閱'對比','C'等。請注意'基本'參數。另請參閱'model.matrix'的'contrasts.arg'可選參數。 –