BUGS ve R'nin farklı parametrelere sahip olduğu bazı dağıtımlar buldum: Normal, log-Normal ve Weibull.
Bunların her biri için, R tarafından kullanılan ikinci parametrenin BUGS'de (veya benim durumumda JAGS) kullanılmadan önce ters dönüştürülmesinin (1 / parametre) olması gerektiğini biliyorum.
Halen var olan bu dönüşümlerin kapsamlı bir listesini bilen var mı?
Bulduğum en yakın şey JAGS 2.2.0 kullanım kılavuzunun 7. tablosundaki dağılımları ?rnorm
vb . Sonuçlarla ve belki de birkaç olasılık metniyle karşılaştırmak olabilir . Bu yaklaşım, dönüşümlerin pdf'lerden ayrı olarak çıkarılması gerektiğini gerektiriyor gibi görünmektedir.
Daha önce yapılmışsa, bu görevin önüne geçmeyi (ve olası hataları) tercih ederdim veya listeyi burada başlatabilirim.
Güncelleştirme
Ben'in önerilerini temel alarak, bir veri parametresini R'den BUGS parametrelerine dönüştürmek için aşağıdaki işlevi yazdım.
##' convert R parameterizations to BUGS paramaterizations
##'
##' R and BUGS have different parameterizations for some distributions.
##' This function transforms the distributions from R defaults to BUGS
##' defaults. BUGS is an implementation of the BUGS language, and these
##' transformations are expected to work for bugs.
##' @param priors data.frame with colnames c('distn', 'parama', 'paramb')
##' @return priors with jags parameterizations
##' @author David LeBauer
r2bugs.distributions <- function(priors) {
norm <- priors$distn %in% 'norm'
lnorm <- priors$distn %in% 'lnorm'
weib <- priors$distn %in% 'weibull'
bin <- priors$distn %in% 'binom'
## Convert sd to precision for norm & lnorm
priors$paramb[norm | lnorm] <- 1/priors$paramb[norm | lnorm]^2
## Convert R parameter b to JAGS parameter lambda by l = (1/b)^a
priors$paramb[weib] <- 1 / priors$paramb[weib]^priors$parama[weib]
## Reverse parameter order for binomial
priors[bin, c('parama', 'paramb')] <- priors[bin, c('parama', 'paramb')]
## Translate distribution names
priors$distn <- gsub('weibull', 'weib',
gsub('binom', 'bin',
gsub('chisq', 'chisqr',
gsub('nbinom', 'negbin',
as.vector(priors$distn)))))
return(priors)
}
##' @examples
##' priors <- data.frame(distn = c('weibull', 'lnorm', 'norm', 'gamma'),
##' parama = c(1, 1, 1, 1),
##' paramb = c(2, 2, 2, 2))
##' r2bugs.distributions(priors)