【问题标题】:"type" not working in R plot function with ecdf object“类型”在带有 ecdf 对象的 R 绘图函数中不起作用
【发布时间】:2025-12-14 11:25:01
【问题描述】:

我的目标是使用参数type="s" 生成由步骤组成的累积分布函数,但是当我尝试例如时

plot(ecdf(rgeom(0:40,0.3)), type="s")

它说错误

Error in plot.default(NA, NA, type = "n", xlim = xlim, ylim = ylim, xlab = xlab,  : formal argument "type" matched by multiple actual arguments

怎么办?

【问题讨论】:

  • ecdf 有自己的绘图方法;见?plot.ecdf。随意调整,例如plot(ecdf(rgeom(0:40,0.3)), verticals = TRUE, pch = NA, col.01line = NA)
  • 试试这个curve(ecdf(rgeom(0:40,0.3))(x), from = 0, to = 40, type = "s")

标签: r plot types frequency-distribution


【解决方案1】:

改为尝试:

plot(ecdf(rgeom(0:40,0.3)),verticals = TRUE)

在这种情况下,plot 分派到plot.ecdf,后者又调用plot.stepfunplot.stepfun 使用对指定type = "n"plot() 的调用来初始化绘图,因此type 参数中的冲突。

verticals 参数来自plot.ecdf,因此它可以愉快地传递,没有任何冲突。

【讨论】:

  • 好的,在哪种情况下我可以使用type="n" 以及用于哪种地块?
  • @Poli 唯一确定的方法是仔细查看每个plot 方法的文档和代码。