r语言 - xy.coords(x, y, xlabel, ylabel, log) 中的错误:Gamma 分布图的 'x' 和 'y' 长度不同



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

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

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

给出错误

dgamma(length(x(, shape = 3, rate = 1/29, scale = 1/rate, log = FALSE( 中的误差: 未找到对象"速率">

因此,永远不会设置y变量。您必须从其他代码中遗留出一个长度与x不同的代码。您应该在绘图之前查看length(x)和'length(y(进行检查。用

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

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

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

最新更新