vioplot

作者: 天道昭然 | 来源:发表于2020-02-27 15:44 被阅读0次
    #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

          本文链接:https://www.haomeiwen.com/subject/wqfxhhtx.html