在 R 中,我们可以使用model.matrix()
来构造设计矩阵,例如,
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
。我怎样才能做到这一点?谢谢!