【问题标题】:Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ for Gamma distribution plotxy.coords(x, y, xlabel, ylabel, log) 中的错误:Gamma 分布图的“x”和“y”长度不同
【发布时间】:2017-06-26 22:50:42
【问题描述】:

我正在尝试在图表上绘制 Gamma(alpha=29, beta = 3) 的 pdf 分布,但出现错误:“xy.coords(x, y, xlabel, ylabel, log) 中的错误: 'x' 和 'y' 长度不同”。为什么?

x <- seq(0, 1000, by = 1)
y <- dgamma(x, shape = 3, rate = 1/29, scale = 1/rate, log = FALSE)
plot(x, y, xlabel = "x", ylabel = "Gamma(29,3)")

【问题讨论】:

    标签: r gamma-distribution


    【解决方案1】:

    似乎您可能忽略了错误。对我来说,这条线

    y <- dgamma(x, shape = 3, rate = 1/29, scale = 1/rate, log = FALSE)
    

    给出错误

    dgamma 中的错误(长度(x),形状 = 3,速率 = 1/29,比例 = 1/速率,log = FALSE): 找不到对象“速率”

    所以你的y 变量永远不会被设置。您必须有一个长度与x 不同的其他代码的剩余代码。您应该在绘图前查看length(x) 和`length(y)。使用

    y <- dgamma(x, shape = 3, rate = 1/29, log = FALSE)
    

    相反。这将使用您想要的 rate 的默认值。也许您正在查看函数的默认参数值?调用函数时传递参数的值时不能指定其他参数的名称,只能在定义函数时这样做。

    您的plot() 命令也会返回错误。参数名称是 xlab=ylab= 而不是 xlabel=ylabel=

    【讨论】:

      猜你喜欢
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 2021-08-18
      相关资源
      最近更新 更多