请问各位,在画Tippett图过程中的这段代码有哪些不对

在绘制Tippett图过程中,不知道修改那部分代码了,希望各位指教

A=read.csv("LRLA.csv")
B=read.csv("LRLB.csv")

LR.H1.exp=A$LR1
LR.H2.exp=B$LR2
Tippett_plot = function(LR.H1.exp, LR.H2.exp)
{
  log.LR.H1.exp = log10(LR.H1.exp)
  log.LR.H2.exp = log10(LR.H2.exp)

  
  min = min(log.LR.H1.exp,log.LR.H2.exp)
  max = max(log.LR.H1.exp,log.LR.H2.exp)

  x.range.data = rbind(min-1,log.LR.H1.exp,log.LR.H2.exp, max+1)
  x.range = x.range.data[order(x.range.data),1]
  
  Tippett.2 = matrix(0, nrow = length(x.range), ncol = 1)
  Tippett.1 = matrix(0, nrow = length(x.range), ncol = 1)
  
  for (i in 1:length(x.range))
 
    Tippett.2[i] = length(which(log.LR.H2.exp > x.range[i]))/nrow(log.LR.H2.exp)*100
    Tippett.1[i] = length(which(log.LR.H1.exp > x.range[i]))/nrow(log.LR.H1.exp)*100
  }
  
  false.positives = round(length(which(log.LR.H2.exp > 0))/nrow(log.LR.H2.exp)*100,15)
  false.negatives = round(length(which(log.LR.H1.exp < 0))/nrow(log.LR.H1.exp)*100,5)
  
  plot(x.range, Tippett.2,type="s", col="black", xlab=expression(paste(log[10],"SLR")), ylab="Proportion of cases [%]", xlim=c(-20,80), ylim=c(0,100), main="",lty=3,cex.lab=1.3)
  par(new=TRUE)
  plot(x.range, Tippett.1, type="s",  col="black", xlab=expression(paste(log[10],"SLR")), ylab="Proportion of cases [%]", xlim=c(-20,80), ylim=c(0,100),cex.lab=1.3)
  legend("bottomleft", c(expression(paste("true-",H[d])), expression(paste("true-",H[p]))), lty=c(3,1), bty="n",cex=1.3)
  abline(v=0, col="gray", lty=4)
  print(false.positives)
  print(false.negatives)
}
col = c("black","red","blue")
legend(40,30, c("trace-anchored","source-anchored","general match"), col=col,pch=16, bty="n", cex=0.8)


运行过程中出现如下错误

>   x.range = x.range.data[order(x.range.data),1]
Error in x.range.data[order(x.range.data), 1] : 下标出界
>     Tippett.2[i] = length(which(log.LR.H2.exp > x.range[i]))/nrow(log.LR.H2.exp)*100
Error in Tippett.2[i] = length(which(log.LR.H2.exp > x.range[i]))/nrow(log.LR.H2.exp) *  : 
  更换参数长度为零
>     Tippett.1[i] = length(which(log.LR.H1.exp > x.range[i]))/nrow(log.LR.H1.exp)*100
Error in Tippett.1[i] = length(which(log.LR.H1.exp > x.range[i]))/nrow(log.LR.H1.exp) *  : 
  更换参数长度为零

修改了半天无从下手,希望各位指教。
希望做出的图如下

img

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。