私は線形回帰モデルに適合したい実験的な設計をしています。model.matrixの要素の一部のコントラストを設定する
ここ設計data.frame
だ:
design.df <- data.frame(batch=rep(c(1:3,1:3),4),
species=rep(c(rep("mouse",3),rep("rat",3)),4),
sex=rep(c(rep("M",12),rep("F",12))),
stringsAsFactors = F)
design.df$species
とdesign.df$sex
両方factors
ある:
design.df$species <- factor(design.df$species,levels=c("mouse","rat"))
design.df$sex <- factor(design.df$sex,levels=c("F","M"))
design.df$sex
のものがcontr.sum
でなければならないのに対し、design.df$species
のコントラスト符号化contr.treatment
なければなりません。
contrasts.list <- list(batch=NA,species="contr.treatment",sex="contr.sum")
design.mat <- model.matrix(as.formula(paste0("~",paste(model.factors,collapse="+"))),contrasts=contrasts.list,data=design.df)
もちろん、それは私が手にエラーに応じて動作しません:
Error in `contrasts<-`(`*tmp*`, value = contrasts.arg[[nn]]) :
contrasts apply only to factors
だから私の質問はどのように私はこれが仕事ができるかもしれないと思ったmodel.matrix
としてそれにそれを設定するには
私はmodel.matrix
をdesign.df
からcontrasts.list
に指定しますか?