0

在論壇搜索後,我沒有發現類似的問題。如果我錯過了,請告訴我。我真的很感激。繪製pdf,cdf和截斷伽瑪分佈在R中的分位數函數的錯誤

我需要爲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 gamma分佈不存在?

任何幫助,將不勝感激!

回答

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]幾乎不截斷可言,所以我改變它用於示例的目的。

EDIT(響應於OP的評論)

截短範圍的下限和上限在呼叫建立與a=...b=...dtrunc(...)ptrunc(...),或qtrunc(...)。在這個例子中它被設置爲[20,50]。

+0

欣賞你的作品。但是,如果截斷範圍必須是[0,1000000]或simlair [10000,990000]?謝謝 ! – user3440244

+0

查看上面的編輯。 – jlhoward