2011-12-22 77 views
1

我想要設計一個不平衡的設計矩陣/虛擬變量矩陣(在模擬項目的上下文中)。不平等的觀察,目前模擬如下:不平衡數據的設計矩陣

set.seed(1) 
n_i <- as.matrix(round(runif(3,min=0, max=5))) 
n_i 
     [,1] 
[1,] 1 
[2,] 2 
[3,] 3 

我想創建一個基於模擬樣本規模以上以下形式的矩陣:

des <- cbind(c(1,rep(0,5)),c(0,rep(1,2),rep(0,3)), c(rep(0,3),rep(1,3))) 

這樣做的有簡單的方法,不涉及複雜的for-loops?不用說,我的真實數據集可以運行到1000個觀測值。 希望對此有幫助。

回答

2

試試這個

Trt <- factor(x=rep(x=c(1, 2, 3), times=c(1, 2, 3)), labels=c("Trt1", "Trt2", "Trt3")) 
model.matrix(~Trt-1, data=Trt) 



    TrtTrt1 TrtTrt2 TrtTrt3 
1  1  0  0 
2  0  1  0 
3  0  1  0 
4  0  0  1 
5  0  0  1 
6  0  0  1 
+0

感謝。這工作。由於n_i非常大,我只是將其修改得更一般。 – user969524 2011-12-22 04:45:39