cdfCompare 出错,未找到对象 'discrete'

error in cdfCompare, object 'discrete' not found

我正在为数据框中的 2 列数据绘制 2 个累积分布。我的代码是:

library(EnvStats)
cdfCompare(Ratio1,Ratio2 discrete = FALSE, 
           prob.method = ifelse(discrete, "emp.probs", "plot.pos"), plot.pos.con = NULL, 
           distribution = "norm", param.list = NULL, 
           estimate.params = is.null(param.list), est.arg.list = NULL, 
           x.col = "blue", y.or.fitted.col = "black", 
           x.lwd = 3 * par("cex"), y.or.fitted.lwd = 3 * par("cex"), 
           x.lty = 1, y.or.fitted.lty = 2, digits = .Options$digits, 
           type = ifelse(discrete, "s", "l"), main = NULL, xlab = NULL, ylab = NULL, 
           xlim = NULL, ylim = NULL)

当我运行这段代码时产生了一个错误:

Error in ifelse(discrete, "emp.probs", "plot.pos") : 
  object 'discrete' not found

当我使用更短的代码时:

cdfCompare(Ratio1,Ratio2 discrete = FALSE) 

没有错误。我也试过设置

discrete=TRUE

,看起来它不会影响绘图的形状(不平滑,我有 ~170,000 个值)。非常感谢。

可以单独定义一个变量来传递离散值,使用if/else到selectprob.method.

discrete_value <- FALSE

cdfCompare(Ratio1,Ratio2 discrete = discrete_value, 
           prob.method = if(discrete_value) "emp.probs" else "plot.pos", plot.pos.con = NULL, 
           distribution = "norm", param.list = NULL, 
           estimate.params = is.null(param.list), est.arg.list = NULL, 
           x.col = "blue", y.or.fitted.col = "black", 
           x.lwd = 3 * par("cex"), y.or.fitted.lwd = 3 * par("cex"), 
           x.lty = 1, y.or.fitted.lty = 2, digits = .Options$digits, 
           type = ifelse(discrete, "s", "l"), main = NULL, xlab = NULL, ylab = NULL, 
           xlim = NULL, ylim = NULL)