为什么使用 dtrunc 会给我错误消息?

Why does using dtrunc give me error message?

我想截断 beta 分布,即 [0,0.2] 中 beta 分布的值为零。我使用 "dtrunc" 如下:

我遇到了以下错误信息:

"Error in g(x, ...) : argument "shape1" is missing, with no default"

你能告诉我发生了什么事吗?

p <-seq(0,1,length=1000)
pdf <- dtrunc(p, spec="beta", a = 0, b = 0.2,log=FALSE)

假设您正在使用 truncdist 包(您应该始终在使用非基础资源时指定,因为在多个非基础资源中可能有一个 dtrunc() 函数包):你需要使用 shape1shape2 作为形状参数的名称,而不是 ab

pdf <- dtrunc(p, spec="beta", shape1 = 0, shape2 = 0.2,log=FALSE)

这符合基本 R 函数 dbeta 中使用 ab Details 部分,但它是显式的:

The Beta distribution with parameters ‘shape1’ = a and ‘shape2’ = b has density

          Gamma(a+b)/(Gamma(a)Gamma(b))x^(a-1)(1-x)^(b-1)