limma R语言

最后发布时间:2022-03-03 11:06:49 浏览量:

主要文件

  • lmFit():线性拟合模型构建【需要两个东西:exprSet和design】 ,得到的结果再和contrast一起导入contrasts.fit()函数
  • eBayes():利用上一步contrasts.fit()的结果
  • topTable():利用上一步eBayes()的结果,并最终导出差异分析结果

差异分析

fit <- lmFit(logCPM, design)
fit <- eBayes(fit, trend=TRUE)
res<- topTable(fit, coef=ncol(design))

差异分析是否需要比较矩阵

library(CLL)
data(sCLLex)
library(limma)
design <- model.matrix(~factor(sCLLex$Diseas))
fit <- lmFit(sCLLex,design)
fit <- eBayes(fit)
topTable(fit,coef=2,adjust='BH') |> View()
(Intercept)factor(sCLLex$Diseas)stable
10
11
10
10
10
10
11
11

这种方法已经把需要比较的组做出到了一列,需要比较多次,就有多少列,第一列是截距不需要考虑,第二列开始往后用coef这个参数可以把差异分析结果一个个提取出来

library(CLL)
data(sCLLex)
library(limma)
design <- model.matrix(~0+factor(sCLLex$Disease))
colnames(design) <- c('progres','stable')
fit <- lmFit(sCLLex,design)
cont.matrix=makeContrasts('stable-progres',levels = design)
fit2 <- contrasts.fit(fit,cont.matrix)
fit2 <- eBayes(fit2)
topTable(fit2,coef=1,adjust='BH') |> View()
progresstable
10
01
10
10
10
10
01
01
10

这种方法,仅仅是分组而已,组之间需要如何比较,需要自己再制作差异比较矩阵,通过makeContrasts函数来控制如何比较

topTable的coef参数提取对应的列

图片alt

图片alt

参考