m0_61473357 2021-09-08 20:23 采纳率: 0%
浏览 68

R语言配对图和wilcox

用R语言画配对图和wilcox检验


```r
setwd("D:\\66singleGene\\08.pairedPlot")                         #设置工作目录
group = read.table("samplegroup.txt",header=F,sep="\t")                               #读取分组信息文件
df = read.table("pairedInput.txt",row.names=1,header=T,sep="\t",check.names=F)        #读取输入文件
m = match(group[,1],rownames(df))
df = df[m,]

#自定义画图函数
Plot = function(data,group,outpdf){
    xfactors = as.factor(group[,2])
    xnumsample = as.numeric(xfactors)
    xaxis = levels(xfactors)
    link = group[,3]
    links = unique(group[,3])
    x1data = data[xnumsample==1]
    x2data = data[xnumsample==2]
  wilcoxP=wilcox.test(x1data,x2data)$p.value
  pvalue=signif(wilcoxP,4)
  if(pvalue<0.001){
     pvalue=signif(pvalue,4)
     pvalue=format(pvalue, scientific = TRUE)
  }else{
     pvalue=round(pvalue,3)
  }
    pdf(outpdf,width=6,height=5)
    par(las=1)
    plot(1,xlim=c(0.5,2.5),ylim=c(0,max(data)*1.2),type="n",xlab="",ylab="",xaxt="n")
    points(rep(1,length(x1data)),x1data,pch=16,cex=2,col="blue")
    points(rep(2,length(x2data)),x2data,pch=15,cex=2,col="red")
    axis(1,1:2,xaxis)
    for(i in links){
        w = which(link==i)
        x1 = xnumsample[w[1]]
        y1 = data[w[1]]
        x2 = xnumsample[w[2]]
        y2 = data[w[2]]
        segments(x1,y1,x2,y2)
    }
    par(xpd=T)
    arrows(1,max(data)*1.1,2,max(data)*1.1,angle=90,code=3,length=0.1)
    text(1.5,max(data)*1.1,paste("p =",pvalue),pos=3,cex=1)
    dev.off()
}

data = df[,1]
cell = colnames(df)[1]
cell = gsub(' ','_',cell)
outpdf = paste0(cell,".pdf")
Plot(data,group,outpdf)


输出结果是Error in wilcox.test.default(x1data, x2data) : 
  not enough 'y' observations
这是什么情况
  • 写回答

2条回答 默认 最新

  • 一个人旅行*-* 2021-09-13 10:32
    关注

    你的x1data与x2data数量不等吧,paired要求数目相等

    评论

报告相同问题?

问题事件

  • 创建了问题 9月8日

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题