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 |
---|---|
1 | 0 |
1 | 1 |
1 | 0 |
1 | 0 |
1 | 0 |
1 | 0 |
1 | 1 |
1 | 1 |
这种方法已经把需要比较的组做出到了一列,需要比较多次,就有多少列,第一列是截距不需要考虑,第二列开始往后用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()
progres | stable |
---|---|
1 | 0 |
0 | 1 |
1 | 0 |
1 | 0 |
1 | 0 |
1 | 0 |
0 | 1 |
0 | 1 |
1 | 0 |
这种方法,仅仅是分组而已,组之间需要如何比较,需要自己再制作差异比较矩阵,通过makeContrasts函数来控制如何比较
topTable的coef参数提取对应的列