The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

betaregscale fits regression models for scores on a
bounded rating scale \(0, 1, \ldots,
K\) (pain NRS-11 or NRS-101, Likert items, quality ratings). Each
score is the coarsened reading of a latent beta variable on \((0, 1)\), written in mean–dispersion form:
mean \(\mu\), dispersion \(\sigma = 1/(1 + \phi) \in (0, 1)\) with
\(\phi\) the beta precision, and \(\mathrm{Var}(Y) = \mu(1 - \mu)\sigma\).
Both can depend on covariates through link functions. The latent scale
is cut at cutpoints anchored on the score labels, so each score is an
interval-censored observation and the likelihood is a probability mass
function over the scores \(0, \ldots,
K\). The scale borders need no ad hoc squeezing: score 0 is
left-censored and score \(K\)
right-censored. Fixed-effects models are fitted with brs()
and mixed models with Gaussian random effects with brsmm();
the log-likelihood and its derivatives are compiled C++.
# Released version from CRAN
install.packages("betaregscale")
# Development version from GitHub
# install.packages("remotes")
remotes::install_github("evandeilton/betaregscale")Simulated NRS-11 scores (0 to 10) for 200 patients, with a continuous covariate and a treatment indicator:
library(betaregscale)
set.seed(1)
d <- data.frame(x1 = rnorm(200), trt = rbinom(200, 1, 0.5))
nrs <- brs_sim(~ x1 + trt, data = d, beta = c(-0.4, 0.5, -0.6),
phi = qlogis(0.15), ncuts = 10)
# Mean with logit link, constant dispersion with logit link
fit <- brs(y ~ x1 + trt, data = nrs)
summary(fit)
# The fitted model is a pmf over the scores 0..10
round(head(brs_predict_scoreprob(fit), 3), 3)
# Expected score by arm at x1 = 0, and the difference between arms,
# with delta-method standard errors
nd <- data.frame(x1 = 0, trt = c(0, 1))
brs_marginal(fit, nd, type = "expected_score")
brs_marginal(fit, nd, type = "expected_score", contrast = c(2, 1))
# Diagnostic plots of randomized quantile residuals
plot(fit)interval = "mid",
"right" or "left", and estimable
boundary cutpoints (cutpoints = "boundary") for
scores that pile up at the ends of the scale, with a likelihood-ratio
test against the fixed map.y ~ x | z, and three parameterizations of the beta law
(repar).brsmm()) with random
intercepts and slopes, fitted by Laplace approximation, adaptive
Gauss–Hermite quadrature or quasi-Monte Carlo, with chi-bar-square
likelihood-ratio tests for variance components.brs_predict_scoreprob()), and score probabilities,
expected scores, exceedance probabilities and contrasts with standard
errors (brs_marginal()), population-averaged for mixed
models.brs_sim(),
brsmm_sim(), simulate()).brsmm(), integration methods, random effects
and marginal predictions.Function reference and changelog: https://evandeilton.github.io/betaregscale/. Bug reports and questions: https://github.com/evandeilton/betaregscale/issues.
citation("betaregscale") gives the reference for the
package. The model is described in
Other references:
MIT © José Evandeilton Lopes and Wagner Hugo Bonat
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.