require(robustlmm)
isPackageInstalled <- function(package) {
return(length(find.package(package, quiet = TRUE)) > 0)
}
set.seed(1)
oneWay <- generateAnovaDatasets(1, 1, 10, 4,
lmeFormula = y ~ 1,
heavyLmeRandom = ~ 1,
heavyLmeGroups = ~ Var2,
lqmmRandom = ~ 1,
lqmmGroup = "Var2",
groups = cbind(rep(1:4, each = 10), rep(1:10, 4)),
varcov = matrix(1, 4, 4),
lower = 0)
test <- function(result, expectedLength = 1) {
stopifnot(length(result) == expectedLength,
!is(result[[1]], "try-error"))
print(result[[1]])
}
test(expected <- fitDatasets_lmer(oneWay))
test(fitDatasets_lmer_bobyqa(oneWay))
test(fitDatasets_lmer_Nelder_Mead(oneWay))
fitDatasets_rlmer_custom <- function(datasets) {
return(fitDatasets_rlmer(datasets,
method = "DASvar",
tuningParameter = c(1.345, 2.28, 1.345, 2.28, 5.14, 5.14),
label = "fitDatasets_rlmer_custom"))
}
test(fitDatasets_rlmer_custom(oneWay))
test(fitDatasets_rlmer_DAStau(oneWay))
test(fitDatasets_rlmer_DAStau_lmerNoFit(oneWay))
test(fitDatasets_rlmer_DASvar(oneWay))
test(fitDatasets_rlmer_DAStau_noAdj(oneWay))
test(fitDatasets_rlmer_DAStau_k_0_5(oneWay))
test(fitDatasets_rlmer_DAStau_k_0_5_noAdj(oneWay))
test(fitDatasets_rlmer_DAStau_k_2(oneWay))
test(fitDatasets_rlmer_DAStau_k_2_noAdj(oneWay))
test(fitDatasets_rlmer_DAStau_k_5(oneWay))
test(fitDatasets_rlmer_DAStau_k_5_noAdj(oneWay))
if (isPackageInstalled("heavy")) {
test(fitDatasets_heavyLme(oneWay))
}
if (isPackageInstalled("lqmm")) {
test(fitDatasets_lqmm(oneWay))
}
## if (isPackageInstalled("rlme")) {
## test(fitDatasets_rlme(oneWay)) # won't work as dataset is balanced
## }
if (isPackageInstalled("robustvarComp")) {
fitDatasets_varComprob_custom <- function(datasets, postFit) {
lcontrol <- robustvarComp::varComprob.control(lower = datasets[["lower"]])
return(
fitDatasets_varComprob(
datasets,
lcontrol,
"fitDatasets_varComprob_custom",
postFit = postFit
)
)
}
test(fitDatasets_varComprob_custom(oneWay))
test(fitDatasets_varComprob_compositeTau(oneWay))
test(fitDatasets_varComprob_compositeTau_OGK(oneWay))
test(fitDatasets_varComprob_compositeTau_2SGS(oneWay))
test(fitDatasets_varComprob_compositeS(oneWay))
test(fitDatasets_varComprob_compositeS_OGK(oneWay))
test(fitDatasets_varComprob_compositeS_2SGS(oneWay))
test(fitDatasets_varComprob_S(oneWay))
test(fitDatasets_varComprob_S_OGK(oneWay))
test(fitDatasets_varComprob_S_2SGS(oneWay))
}
## test datasetIndices argument
set.seed(1)
oneWay3 <- generateAnovaDatasets(3, 1, 10, 4,
lmeFormula = y ~ 1,
heavyLmeRandom = ~ 1,
heavyLmeGroups = ~ Var2,
lqmmRandom = ~ 1,
lqmmGroup = "Var2",
groups = cbind(rep(1:4, each = 10), rep(1:10, 4)),
varcov = matrix(1, 4, 4),
lower = 0)
test(actual <- fitDatasets_lmer(oneWay3, datasetIndices = 1))
stopifnot(all.equal(expected, actual, check.attributes = FALSE))
test(fitDatasets_lmer(oneWay3, datasetIndices = 2:3), expectedLength = 2)
## test rlme implementation
if (require(rlme)) {
data(schools)
datasets <- createDatasetsFromList(list(schools),
formula = y ~ 1 + sex + age + (1 | region) + (1 | region:school),
trueBeta = rep(NA_real_, 3),
trueSigma = NA_real_,
trueTheta = rep(NA_real_, 2))
fits <- fitDatasets_rlme(datasets)
result <- processFit(fits[[1]], all = TRUE)
stopifnot(length(result$coefficients) == 3,
length(result$standardErrors) == 3,
length(result$tValues) == 3,
length(result$sigma) == 1,
length(result$thetas) == 2,
length(result$residuals) == NROW(schools))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.