0

在论坛搜索后,我没有找到类似的问题。如果我错过了,请告诉我。我真的很感激。

我需要为 R 中的任何给定形状和比例值绘制截断伽马的 pdf 、 cdf 和分位数函数。但是,我得到了一些形状和比例值的错误。

我的代码:

 library(distr) 
 library(distrEx) 
 library(truncdist)
 scale8 <- 750000
 shape8 <- 0.0016     
 G0 <- Gammad(scale = scale8, shape = shape8) 
 plot(G0)
 TG <- Truncate(G0, lower=0, upper=1000000) #  Error in if (.isEqual(gaps[jj, 2], gaps[j + 1,   
                                            #  1])) gaps[jj, 2] <- gaps[j +  : 
                                            #    missing value where TRUE/FALSE needed

 plot(TG) 

我的理解是,对于某些 gamma 的 pdf,其截断的 gamma 分布不存在?

任何帮助,将不胜感激!

4

1 回答 1

1

像这样??

scale8 <- 750000
shape8 <- 0.0016 
library(truncdist)
par(mfrow=c(1,3))
q <- seq(0,100,1)
p <- seq(0,1,.01)
plot(q,dtrunc(q,"gamma",a=20,b=50,scale=scale8,shape=shape8),type="l",main="PDF")
plot(q,ptrunc(q,"gamma",a=20,b=50,scale=scale8,shape=shape8),type="l",main="CDF")
plot(p,qtrunc(p,"gamma",a=20,b=50,scale=scale8,shape=shape8),type="l",main="Quantile")

将下限和上限设置为 [0,1000000] 几乎不会截断,因此我为了示例而对其进行了更改。

编辑(对 OP 评论的回应)

截断范围的下限和上限在对、或的调用中使用a=...和设置。在此示例中,它设置为 [20,50]。b=...dtrunc(...)ptrunc(...)qtrunc(...)

于 2014-04-18T21:55:56.150 回答