Nothing
# test.sign.R
# Test the use of sign.location and sign.nominal in clm.control():
library(ordinal)
fm1 <- clm(rating ~ temp + contact, data=wine)
fm2 <- clm(rating ~ temp + contact, data=wine,
sign.location="positive")
# dput(names(fm1))
keep <- c("aliased", "alpha", "cond.H",
"contrasts", "convergence", "df.residual", "edf",
"fitted.values", "formula", "formulas", "gradient",
"info", "link", "logLik", "maxGradient", "message", "model",
"n", "niter", "nobs", "start", "terms", "Theta", "threshold",
"tJac", "xlevels", "y", "y.levels")
check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep])
stopifnot(all(check))
stopifnot(isTRUE(all.equal(
fm1$beta, - fm2$beta
)))
fm1 <- clm(rating ~ temp, nominal=~ contact, data=wine)
fm2 <- clm(rating ~ temp, nominal=~ contact, data=wine,
sign.nominal="negative")
keep <- c("aliased", "beta", "cond.H",
"contrasts", "convergence", "df.residual", "edf",
"fitted.values", "formula", "formulas", "gradient",
"info", "link", "logLik", "maxGradient", "message", "model",
"n", "niter", "nobs", "start", "terms", "Theta", "threshold",
"tJac", "xlevels", "y", "y.levels")
# check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1, fm2)
check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep])
stopifnot(all(check))
stopifnot(isTRUE(all.equal(
fm1$alpha[5:8], -fm2$alpha[5:8]
)))
fm1 <- clm(rating ~ temp, nominal=~ contact, data=wine)
fm2 <- clm(rating ~ temp, nominal=~ contact, data=wine,
sign.nominal="negative", sign.location="positive")
keep <- c("aliased", "cond.H",
"contrasts", "convergence", "df.residual", "edf",
"fitted.values", "formula", "formulas", "gradient",
"info", "link", "logLik", "maxGradient", "message", "model",
"n", "niter", "nobs", "start", "terms", "Theta", "threshold",
"tJac", "xlevels", "y", "y.levels")
# check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1, fm2)
check <- mapply(function(x, y) isTRUE(all.equal(x, y)), fm1[keep], fm2[keep])
stopifnot(all(check))
stopifnot(
isTRUE(all.equal(fm1$alpha[5:8], -fm2$alpha[5:8])),
isTRUE(all.equal(fm1$beta, -fm2$beta))
)
# Check predict method:
newData <- with(wine, expand.grid(temp=levels(temp), contact=levels(contact)))
(p1 <- predict(fm1, newdata=newData))
(p2 <- predict(fm2, newdata=newData))
stopifnot(isTRUE(all.equal(p1, p2)))
stopifnot(isTRUE(
all.equal(predict(fm1, newdata=wine, se=TRUE, interval=TRUE),
predict(fm2, newdata=wine, se=TRUE, interval=TRUE))
))
# Check profile and confint methods:
confint.default(fm1)
confint.default(fm2)
stopifnot(
isTRUE(all.equal(confint(fm1), -confint(fm2)[, 2:1, drop=FALSE],
check.attributes=FALSE))
)
fm1 <- clm(rating ~ temp + contact, data=wine)
fm2 <- clm(rating ~ temp + contact, data=wine,
sign.location="positive")
pr1 <- profile(fm1)
pr2 <- profile(fm2)
stopifnot(
isTRUE(all.equal(confint(fm1), - confint(fm2)[, 2:1], check.attributes=FALSE))
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.