我试图在图表上绘制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)")
答案 0 :(得分:0)
好像你可能忽略了错误。对我来说,行
y <- dgamma(x, shape = 3, rate = 1/29, scale = 1/rate, log = FALSE)
给出错误
dgamma出错(长度(x),形状= 3,速率= 1/29,比例= 1 /速率,日志=假): 对象'率'未找到
因此永远不会设置y
变量。您必须从一些长度不同于x
的其他代码中留下一个。您应该在绘制之前通过查看length(x)
和`length(y)来检查。使用
y <- dgamma(x, shape = 3, rate = 1/29, log = FALSE)
代替。这将使用您想要的rate
的默认值。也许您正在查看该函数的默认参数值?在调用函数时传递参数值时,不能指定其他参数的名称,只能在定义函数时执行此操作。
此外,您的plot()
命令会返回错误。参数名称为xlab=
和ylab=
,而不是xlabel=
和ylabel=