不平衡数据的设计矩阵
问题描述:
我想要设计一个不平衡的设计矩阵/虚拟变量矩阵(在模拟项目的上下文中)。不平等的观察,目前模拟如下:不平衡数据的设计矩阵
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
感谢。这工作。由于n_i非常大,我只是将其修改得更一般。 – user969524 2011-12-22 04:45:39