在论坛中搜索后,我没有找到类似的问题。如果我错过了,请告诉我。我真的很感激。
我需要为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)
我的理解是,对于某些伽玛的pdf,它的trucnated伽马分布不存在?
任何帮助将不胜感激!
答案 0 :(得分: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=...
,b=...
或dtrunc(...)
的调用中设置为ptrunc(...)
和qtrunc(...)
。在这个例子中,它被设置为[20,50]。