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