2014-02-27 21 views
0

如何使用model.matrix生成一個看起來像這樣的矩陣?如何以特定方式製作model.matrix?

 [,1] [,2] [,3] [,4] [,5] [,6] 
[1,] 1 1 0 0 0 0 
[2,] 1 2 0 0 0 0 
[3,] 1 3 0 0 0 0 
[4,] 0 0 1 1 0 0 
[5,] 0 0 1 2 0 0 
[6,] 0 0 1 3 0 0 
[7,] 0 0 0 0 1 1 
[8,] 0 0 0 0 1 2 
[9,] 0 0 0 0 1 3 

我通過

fit = lmer(Temp ~ 1 + (1 + Time|Id), data = Data) 
getME(fit, name = c("Z")) 

Time = rep(1:3, 3) 

和ID

Id = c(0L, cumsum(diff(Time) < 0)) 

這是接近我能得到生產的第一矩陣。

id = rep(c("a","b","c"),each = 3) 
Z = model.matrix(~0+id) 

    [,1] [,2] [,3] 
1 1 0 0 
2 1 0 0 
3 1 0 0 
4 0 1 0 
5 0 1 0 
6 0 1 0 
7 0 0 1 
8 0 0 1 
9 0 0 1 
+0

你能解釋第一個矩陣的元素嗎?我的意思是,讓你看起來像第一個矩陣的矩陣是微不足道的,但我懷疑它會是你想要的...... –

回答

2

我不知道我讓你嘗試做,但做這項工作嗎?

val = rep(1:3,3) 
z = model.matrix(~0+id+id:val)