首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cdfCompare中的错误,找不到对象‘离散’

cdfCompare中的错误,找不到对象‘离散’
EN

Stack Overflow用户
提问于 2021-04-15 23:35:16
回答 1查看 54关注 0票数 0

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

代码语言:javascript
复制
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)

当我运行此代码时,会生成一个错误:

代码语言:javascript
复制
Error in ifelse(discrete, "emp.probs", "plot.pos") : 
  object 'discrete' not found

当我使用较短的代码时:

代码语言:javascript
复制
cdfCompare(Ratio1,Ratio2 discrete = FALSE) 

没有错误。我也试着

discrete=TRUE

,它看起来不影响绘图的形状(不光滑,我有17万个数值)。非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-16 06:53:39

您可以定义一个单独的变量来传递离散值,并使用if/else来选择prob.method

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67117268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档