0

我正在尝试在图表上绘制 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)")
4

1 回答 1

0

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

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=andylab=不是xlabel=andylabel=

于 2017-02-09T04:52:09.393 回答