1
在R,我們可以使用model.matrix()
構建設計矩陣,例如,轉換model.matrix中的R的一組向量
grp.ids = as.factor(c(rep(1,8), rep(2,4), rep(3,2)))
x = model.matrix(~grp.ids)
給出了設計矩陣x
:
(Intercept) grp.ids2 grp.ids3
1 1 0 0
2 1 0 0
3 1 0 0
4 1 0 0
5 1 0 0
6 1 0 0
7 1 0 0
8 1 0 0
9 1 1 0
10 1 1 0
11 1 1 0
12 1 1 0
13 1 0 1
14 1 0 1
attr(,"assign")
[1] 0 1 1
attr(,"contrasts")
attr(,"contrasts")$grp.ids
[1] "contr.treatment"
然而,如果現在我得到如上的設計矩陣x
,並希望通過某種方式獲得「分組向量」grp.ids
x
。我怎樣才能做到這一點?謝謝!
謝謝你的解決方案!我認爲每個組別使用什麼數字並不重要,因爲他們只是因素水平:) – alittleboy
順便說一句,有沒有什麼辦法讓水平按升序排列?我目前有1,3,2,但希望獲得1,2,3。這樣,當我重建model.matrix時,我可以得到相同的結果。謝謝。 – alittleboy
@alittleboy爲你添加了一個更新 – Dason