[R] What does model.matrix() return?

Peng Yu pengyu.ut at gmail.com
Thu Sep 17 17:13:30 CEST 2009


Hi,

I don't understand what the meaning of the following lines returned by
model.matrix(). Can somebody help me understand it? What can they be
used for?

attr(,"assign")
[1] 0 1 2 2
attr(,"contrasts")
attr(,"contrasts")$A
[1] "contr.treatment"

attr(,"contrasts")$B
[1] "contr.treatment"

Regards,
Peng

> a=2
> b=3
> n=4
> A = rep(sapply(1:a,function(x){rep(x,n)}),b)
> B = as.vector(sapply(sapply(1:b, function(x){rep(x,n)}), function(x){rep(x,a)}))
> Y = A + B + rnorm(a*b*n)
> fr = data.frame(Y=Y,A=as.factor(A),B=as.factor(B))
> afit=aov(Y ~ A + B,fr)
> model.matrix(afit)
   (Intercept) A2 B2 B3
1            1  0  0  0
2            1  0  0  0
3            1  0  0  0
4            1  0  0  0
5            1  1  0  0
6            1  1  0  0
7            1  1  0  0
8            1  1  0  0
9            1  0  1  0
10           1  0  1  0
11           1  0  1  0
12           1  0  1  0
13           1  1  1  0
14           1  1  1  0
15           1  1  1  0
16           1  1  1  0
17           1  0  0  1
18           1  0  0  1
19           1  0  0  1
20           1  0  0  1
21           1  1  0  1
22           1  1  0  1
23           1  1  0  1
24           1  1  0  1
attr(,"assign")
[1] 0 1 2 2
attr(,"contrasts")
attr(,"contrasts")$A
[1] "contr.treatment"

attr(,"contrasts")$B
[1] "contr.treatment"




More information about the R-help mailing list