不平衡数据的设计矩阵

时间:2011-12-22 01:16:45

标签: r simulation

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

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循环?不用说,我的真实数据集会运行1000次观察。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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