tl;博士
为什么fit <- eBayes(fit); topTable(fit, coef=4)
与fit <- contrasts.fit(fit, c(-1,0,0,1)); fit <- eBayes(fit); topTable(fit)
(截取设计的第 1 列)不同?
来自 limma 用户指南的示例
Strain <- factor(targets$Strain, levels=c("WT","Mu"))
Treatment <- factor(targets$Treatment, levels=c("U","S"))
design <- model.matrix(~Strain+Strain:Treatment)
colnames(design)
[1] "(Intercept)" "StrainMu" "StrainWT:TreatmentS" "StrainMu:TreatmentS"
模型公式中的第一项是对应变的影响。这在设计矩阵中引入了一个截距列,它估计野生型未刺激细胞的平均对数表达水平,以及一个用于估计未刺激状态下突变体与野生型差异的菌株的列。模型公式中的第二项表示刺激和应变之间的相互作用。[...] 它在设计矩阵中引入了第三和第四列,分别代表了刺激对野生型和突变小鼠的影响 [...]。
fit <- lmFit(eset, design)
fit <- eBayes(fit)
topTable(fit, coef=3)
# will find those genes responding to stimulation in wild-type mice, and
topTable(fit, coef=4)
# will find those genes responding to stimulation in mutant mice
我不明白的
如果 usingcoef
和看设计矩阵第 4 列和截距的差(即第 4 列和第 1 列的对比)是一样的,难道我们不需要看第 4 列和第 2 列的对比让基因对突变小鼠的刺激做出反应?
当然,我比较了使用时coef
和使用对比时的结果。它们有所不同,但我不明白为什么......显然这coef=4
并不意味着“查看第 4 列和截距之间的差异”,但那是什么意思呢?
我希望这个问题是可以理解的。提前谢谢了!