我想创建一个函数,该函数返回因子的设计对比矩阵,其中因子的数量、每个因子中的水平作为输入。我的例子,我有:
第一个因素
treat <- gl(3, 20, labels = paste("t", 1:3, sep=""))
第二个因素
imp <- rep(gl(2, 10, labels = c("yes", "no")), 3)
为“imp”创建一个对比设计矩阵
contrasts(imp) <- c(-1, 1)
Imp <- model.matrix(~ imp)[, -1]
为“治疗”创建一个对比设计矩阵
contrasts(treat) <- cbind(c(0,1,0),c(0,0,1))
Treat <- model.matrix(~ treat)[, -1]
现在我问我如何开始创建 Imp 和 Treat 矩阵以及 Imp 和 Treat 的所有组合,例如,给定 Factor=2、Levels = c(3,2) 和 Nsize=60?