library(limma)
mRNA <- read.table("表达矩阵.txt",sep = "\t",header = T,comment.char = "!",encoding = "UTF-8")
#mRNA数据框行名为基因名,列命为样本名称
group <- read.table("GROUP.txt",header=T,sep = "\t",encoding = "UTF-8")
group_CP <- group$treat
m_design<- model.matrix(~0+factor(group_CP))
colnames(m_design) = levels(factor(group_CP))
rownames(m_design)= group$ID
contrast.matrix<-makeContrasts("P-C",levels=m_design) #注意P-C顺序,实验组要在前面否则影响上下调结果
m_fit <- lmFit(mRNA,m_design)
m_fit <- contrasts.fit(m_fit, contrast.matrix)
m_fit <- eBayes(m_fit)
m_genlist <- topTable(m_fit, coef = 1, n=Inf) #limma结果
#将表达矩阵与差异分析结果合并
ID_REF <- rownames(m_genlist)
m_genlist <- data.frame(ID_REF,m_genlist)
ID_REF <- rownames(mRNA)
mRNA <- data.frame(ID_REF,mRNA)
test <-merge(mRNA,m_genlist,by = "ID_REF")
result <- subset(test,P.Value<0.05)
row.names(result) <- result[,1]
#绘制热图
heatmap <- result[2:(nrow(group)+1)]
annotation <- data.frame(Factor = factor(group$treat)) #标注样本的分组信息
rownames(annotation) <- colnames(heatmap)
library(pheatmap)
filename <- paste("文件名",".pdf",sep="")
pdf(filename)
pheatmap(heatmap,
annotation=annotation,
annotation_legend = TRUE,
main=filename ,
scale = "row",
show_rownames = F,
color = colorRampPalette(c("green","black","red"))(100))
dev.off()
#表达矩阵与GROUP文件如下所示
您好,这样的:步骤1:打开你电脑中的杀毒软件步骤2:关掉杀毒软件的实时防护/监控功能步骤3:在线或本地安装你要装的R安装包步骤4:安装完R安装包后,重新打开杀毒软件的实时防护/监控功能。步骤5:在R中运行你刚才安装的包。sion 3.0.1 (2013-05-16)Platform: i386-w64-mingw32/i386 (32-bit)locale:[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936[4] LC_NUMERIC=C[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936attached base packages:[1] stats graphics grDevices utils datasets methods base