为什么fit <- eBayes(fit); topTable(fit, coef=4)
与fit <- contrasts.fit(fit, c(-1,0,0,1)); fit <- eBayes(fit); topTable(fit)
不一样(拦截设计的第1列)?
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"
模型公式中的第一项是对应变的影响。这引入了拦截列 到设计矩阵,它估计野生型未刺激的平均对数表达水平 细胞和Strain柱,用于估计未受刺激的突变体与野生型的死亡率 州。模型公式中的第二项表示刺激和刺激之间的相互作用 应变。 [...]它在设计矩阵中引入了第三列和第四列,代表了 刺激对野生型和突变型小鼠的影响分别为[...]。
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
如果使用coef
与查看设计矩阵的第4列和截距(即第4列和第1列之间的对比度)之间的差异相同,我们不需要查看第四和第二列之间的对比,以获得响应突变小鼠刺激的基因?
当然,我在使用coef
和使用对比时比较了结果。它们有所不同,但我不明白为什么......显然这意味着coef=4
不意味着“看看第4列与拦截之间的区别”,但这意味着什么呢?
我希望这个问题是可以理解的。非常感谢提前!
答案 0 :(得分:1)
设计矩阵基于
targets <- data.frame(
Strain = factor(c("WT", "WT", "MU", "MU", "MU"), levels = c("WT", "MU")),
Treatment = factor(c("U", "S", "U", "S", "S"), levels = c("U", "S")))
design <- model.matrix(~ Strain + Strain:Treatment, data = targets)
> targets
## Strain Treatment
## 1 WT U
## 2 WT S
## 3 MU U
## 4 MU S
## 5 MU S
targets
的每一行对应一个实验样本。设计矩阵如下所示:
## (Intercept) StrainMU StrainWT:TreatmentS StrainMU:TreatmentS
## 1 1 0 0 0
## 2 1 0 1 0
## 3 1 1 0 0
## 4 1 1 0 1
## 5 1 1 0 1
同样,每行对应一个实验样本。 design
的列对应于limma
拟合的系数,您可以通过比较design
的行来读出系数的组合给出给定实验组的模型拟合值与targets
。
有效地观察coef=4
意味着您正在测试零假设,即第四个系数(StrainMu:TreatmentS
的系数)为零 - 它与比较该值不同第四个系数与截距系数的值。
根据每个实验班的拟合值来考虑。 对于给定的基因,
如果我是一个野生型,未受刺激的鼠标(如design
或targets
的第一行),我的拟合值将为:
Intercept
如果我是一个野生型,受刺激的小鼠(第二排),我的拟合值将是:
Intercept + StrainWT:TreatmentS
如果我是一个突变体,未刺激的小鼠(第三排),我的拟合值将是:
Intercept + StrainMu
如果我是一个突变体,受刺激的小鼠(第四和第五行),我的拟合值将是:
Intercept + StrainMu + StrainMU:TreatmentS
因此,突变菌株中受刺激和未刺激组之间的差异是:
(Intercept + StrainMU + StrainMU:TreatmentS) - (Intercept + StrainMU)
= StrainMU:TreatmentS
...对应于设计矩阵中第4列的系数
希望这很有用
ps,使用coef=4
应该会提供与使用contrast = c(0, 0, 0, 1)