## File Name: rm_facets_calc_loglikelihood.R
## File Version: 0.14
rm_facets_calc_loglikelihood <- function( tau.item, a.rater, Qmatrix, b.item, VV,
K, I, TP, a.item, b.rater, item.index, rater.index, theta.k, RR, dat2,
dat2.resp, pi.k=NULL, dat2.ind.resp, mu=NULL, sigma=NULL, b.rater.center,
a.rater.center, a.item.center, a_lower, a_upper )
{
#--- adjust pi.k probabilities
if ( ( ! is.null(mu) ) | ( ! is.null(sigma) ) ){
pi.k <- sirt_dnorm_discrete( x=theta.k, mean=mu, sd=sigma )
}
#--- center parameters
a.item <- rm_squeeze(x=a.item, lower=a_lower, upper=a_upper )
a.rater <- rm_squeeze(x=a.rater, lower=a_lower, upper=a_upper )
a.rater <- rm_center_vector( vec=a.rater, center_type=a.rater.center, do_log=TRUE )
a.item <- rm_center_vector( vec=a.item, center_type=a.item.center, do_log=TRUE )
b.rater <- rm_center_vector( vec=b.rater, center_type=b.rater.center, do_log=FALSE )
#--- calculate probabilities
probs <- rm_facets_calcprobs( tau.item=tau.item, b.rater=b.rater, Qmatrix=Qmatrix,
b.item=b.item, VV=VV, K=K, I=I, TP=TP, a.item=a.item,
a.rater=a.rater, item.index=item.index,
rater.index=rater.index, theta.k=theta.k, RR=RR )
#--- calculate posterior
res <- rm_posterior( dat2=dat2, dat2.resp=dat2.resp, TP=TP, pi.k=pi.k, K=K, I=I,
probs=probs, dat2.ind.resp=dat2.ind.resp )
#--- output
res <- list(ll=res$ll, a.item=a.item, pi.k=pi.k, a.rater=a.rater,
b.rater=b.rater, a.item=a.item)
return(res)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.