2016-11-01 2 views
1

Мне нужно найти 95% -ный регион HPD, используя пакет TeachingDemos в R. У меня есть последующее распределение, следующее за гамма-распределением.95% Регион HPD с использованием R TeachingDemos Пакет

После установки пакета и ввод в библиотеке (TeachingDemos),

я сделал:

a = 200 
b = 20 
hpd(qgamma,shape1=a,shape2=b, conf=0.95) 

(а и б являются альфа и бета значения гамма-распределения)

I продолжайте получать следующее сообщение об ошибке при запуске моего кода:

Error in posterior.icdf(1 - conf + x, ...) : 
    unused arguments (shape1 = 200, shape2 = 20) 

Я новичок в использовании R, так что я делаю неправильно?

+0

Это означает, что именно он говорит. Введите «? Hpd» в консоль R для получения справки. Также это вопрос программирования, а не вопрос статистики - лучше разместить их в StackOverflow с помощью тега 'r'. – shadowtalker

+0

@ssdecontrol Я не знаю, что сообщение об ошибке пытается сказать. «hpd не говорит мне ничего нового. Мой код работает, если я изменяю qgamma на qbeta, но мне нужен мой код для работы в qgamma. – sucksatmath

+0

Я голосую, чтобы закрыть этот вопрос как вне темы, потому что речь идет о том, как использовать R без воспроизводимого примера. – gung

ответ

0

Сигнатура hpd является

hpd(posterior.icdf, conf=0.95, tol=0.00000001,...) 

И документации говорится, что ... является "дополнительные аргументы, передаваемые posterior.icdf." Это означает, что где-то внутри hpd, есть строка кода, который выглядит примерно так

posterior.icdf(x, ...) 

где ... является только то, что аргументы были переданы в hpd`` apart from конф and tol`.

Если вы посмотрите на подпись функции для qbeta, вы увидите, что у нее есть аргументы shape1 и shape2. Если вы посмотрите на qgamma, вы обнаружите, что это не действительные имена аргументов.

Вы получите то же сообщение об ошибке, если вы вызываете qgamma непосредственно с этими аргументами, например.

qgamma(0.5, shape1=200, shape2=20)