limma 中 coef 的含义
Meaning of coef in limma
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
我不明白的地方
如果使用 coef
与查看设计矩阵第 4 列与截距之间的差异(即第四列与第一列之间的对比)相同,我们是否需要查看在第四列和第二列之间的对比中获得基因对突变小鼠刺激的反应?
当然我比较了使用coef
和使用对比时的结果。他们不同,但我不明白为什么......显然这意味着 coef=4
不 意思是“看第 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
拟合的系数,您可以通过比较 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)
相同的结果
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
我不明白的地方
如果使用 coef
与查看设计矩阵第 4 列与截距之间的差异(即第四列与第一列之间的对比)相同,我们是否需要查看在第四列和第二列之间的对比中获得基因对突变小鼠刺激的反应?
当然我比较了使用coef
和使用对比时的结果。他们不同,但我不明白为什么......显然这意味着 coef=4
不 意思是“看第 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
拟合的系数,您可以通过比较 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)