ошибка построения pdf, cdf и квантильных функций усеченного гамма-распределения в R

Поискав по форуму, подобных вопросов не нашел. Если я пропустил это, пожалуйста, дайте мне знать. Я был бы очень признателен.

Мне нужно построить pdf , cdf и квантильную функцию усеченной гаммы для любых заданных значений формы и масштаба в R . Но я получил ошибку для некоторых значений формы и масштаба.

Мой код:

 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 гаммы ее усеченное гамма-распределение не существует?

Любая помощь будет оценена по достоинству!


person user3440244    schedule 18.04.2014    source источник


Ответы (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 (ответ на комментарий ОП)

Нижний и верхний пределы усеченного диапазона устанавливаются с помощью a=... и b=... в вызове dtrunc(...), ptrunc(...) или qtrunc(...). В этом примере установлено значение [20,50].

person jlhoward    schedule 18.04.2014
comment
Цените свою работу. но что, если усеченный диапазон должен быть [0,1000000] или аналогичный [10000, 990000]? Спасибо ! - person user3440244; 19.04.2014