#install.packages("vioplot")
library(vioplot) #引用包
normal=6 #正常样品数目
tumor=6 #肿瘤样品数目
rt=read.table("CIBERSORT.filter.txt",sep="\t",header=T,row.names=1,check.names=F) #读取输入文件
pdf("vioplot.pdf",height=8,width=15) #保存图片的文件名称
par(las=1,mar=c(10,6,3,3))
x=c(1:ncol(rt))
y=c(1:ncol(rt))
plot(x,y,
xlim=c(0,63),ylim=c(min(rt),max(rt)+0.02),
main="",xlab="", ylab="Fraction",
pch=21,
col="white",
xaxt="n")
#对每个免疫细胞循环,绘制vioplot,正常用蓝色表示,肿瘤用红色表示
for(i in 1:ncol(rt)){
normalData=rt[1:normal,i]
tumorData=rt[(normal+1):(normal+tumor),i]
vioplot(normalData,at=3*(i-1),lty=1,add = T,col = 'blue')
vioplot(tumorData,at=3*(i-1)+1,lty=1,add = T,col = 'red')
wilcoxTest=wilcox.test(normalData,tumorData)
p=round(wilcoxTest$p.value,3)
mx=max(c(normalData,tumorData))
lines(c(x=3*(i-1)+0.2,x=3*(i-1)+0.8),c(mx,mx))
text(x=3*(i-1)+0.5, y=mx+0.02,labels=ifelse(p<0.001, paste0("p<0.001"), paste0("p=",p)), cex = 0.8)
text(seq(1,64,3),-0.03,xpd = NA,labels=colnames(rt),cex = 1,srt = 45,pos=2)
}
dev.off()
vioplot
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、Android Studio 默认自动生成的 jar 包 众所周知 Android Studio 会在 lib...