4

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 列和截距之间的差异”,但那是什么意思呢?

我希望这个问题是可以理解的。提前谢谢了!

4

1 回答 1

4

设计矩阵基于

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的行来读取给定实验组的模型拟合值的系数组合。designtargets

有效地查看coef=4意味着您正在测试第四个系数(对于StrainMu:TreatmentS)为零的零假设 - 这与将第四个系数的值与截距系数的值进行比较不同。

考虑每个实验类的拟合值。对于给定的基因,

  • 如果我是野生型、未受刺激的小鼠(如designor的第一行targets),我的拟合值将是: Intercept

  • 如果我是野生型受刺激小鼠(第二行),我的拟合值将是: Intercept + StrainWT:TreatmentS

  • 如果我是一个突变的、未受刺激的小鼠(第三行),我的拟合值将是: Intercept + StrainMu

  • 如果我是一个突变的受刺激小鼠(第四和第五行),我的拟合值将是: Intercept + StrainMu + StrainMU:TreatmentS

因此,突变菌株中受刺激组和未受刺激组之间的差异是:

(Intercept + StrainMU + StrainMU:TreatmentS) - (Intercept + StrainMU) = StrainMU:TreatmentS

... 设计矩阵中第 4 列对应的系数

希望这有帮助


ps, usingcoef=4应该给您与 using 相同的结果contrast = c(0, 0, 0, 1)

于 2018-02-01T14:13:20.663 回答