目标是找到最好的模型。我使用逐步回归。但是我遇到了问题。当我尝试这个时:
library("MASS")
foreach (i=1:20000) %do% {
Ge <- bigGeneMatrix[i,]
fit <- lm(Ge ~ geneA + geneB + geneC + geneD + ... + geneX + (1|Patient),
data = master)
step <- stepAIC(fit, direction = "both")
results[i] <- step$anova }
出现了一些奇怪的事情。
Step: AIC=-268.58
Ge ~ ((geneA + geneB + geneC + geneD + ... + geneX +
(1 | Patient)) - 1 | Patient)
Start: AIC=-596.19
Ge ~ ((geneA + geneB + geneC + geneD + ... + geneX +
(1 | Patient)) - 1 | Patient)
Step: AIC=-603.22
Ge ~ ((geneA + geneB + geneC + geneD + ... + geneX +
(1 | Patient)) - 1 | Patient)
结果总是相同的模型。只有AIC不同。我还尝试了 leaps()函数和 regsubsets(),但它也没有显示我想要的结果。 我认为问题在于我有一个大矩阵,其中有很多不同的基因 y (y~x1 + x2 + x3,data = abc)。 我希望得到这样的结果:
Ge ~ geneA + geneD + geneX
这是具有最低AIC的最佳模型。
我怎样才能得到它?