|
各位大神,请教一下,用limma包做差异基因筛选,程序如下
Group = factor(pheno$group,levels=c('Responder','Nonresponder'))
design = model.matrix(~0+Group)
colnames(design) <- c('Responder','Nonresponder')
design
#线性模型拟合
fit <- lmFit(datExpr2, design)
#构建比对模型,比较两个条件下的表达数据
contrast.matrix <- makeContrasts(Responder-Nonresponder,#1
levels=design)
#####################
####################
library(xlsx)
library(futile.logger)
#比对模型进行差值计算
fit2 <- contrasts.fit(fit, contrast.matrix)
#贝叶斯检验
fit2 <- eBayes(fit2)
#找出差异基因检验结果并输出符合条件的结果
diff = topTable(fit2,adjust.method="fdr",coef=1,p.value=0.05,
lfc=log(1.5,2),number=5000,sort.by = 'logFC')
上方标红的位置好像算出来是用adj.p.value计算的,用这个计算得到的差异基因太少,我想换成p.value,谁能指导一下如何改程序?谢谢各位啦。
我自己改的如下diff = topTable(fit2,coef= 1,
lfc=log(1,2),number=200000)
diff <- diff[diff[,"P.Value"]<0.05,]
但遇到一个奇怪的问题,我把上图红色改成1.5倍,运行下面的p.value就报错,提示如下
Error in `[.data.frame`(diff, , "P.Value") : undefined columns selected
各位能否解答一下困惑,谢谢啦。
|
|