不平衡数据的设计矩阵

问题描述:

我想要设计一个不平衡的设计矩阵/虚拟变量矩阵(在模拟项目的上下文中)。不平等的观察,目前模拟如下:不平衡数据的设计矩阵

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个观测值。 希望对此有帮助。

试试这个

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