# test_vc.R # Time-stamp: <23 Apr 2019 15:05:49 c:/x/rpack/lucid/tests/testthat/test_vc.R> require(lucid) data(Rail, package="nlme") # ---------------------------------------------------------------------------- test_that("default", { expect_error(vc(1)) }) test_that("nlme", { skip_if(!require(nlme)) m1n <- lme(travel~1, random=~1|Rail, data=Rail) expect_equal( vc(m1n), structure(list(effect = structure(1:2, .Label = c("(Intercept)", "Residual"), class = "factor"), variance = c(615.31, 16.17), stddev = c(24.81, 4.02)), .Names = c("effect", "variance", "stddev"), row.names = c(NA, -2L), class = c("vc.lme", "data.frame")), tolerance=1e-1) # print method print(vc(m1n)) }) # ---------------------------------------------------------------------------- test_that("lmer", { skip_if(!require("lme4")) m1l <- lmer(travel~1 + (1|Rail), data=Rail) expect_equal( vc(m1l), structure(list(grp = c("Rail", "Residual"), var1 = c("(Intercept)", NA), var2 = c(NA_character_, NA_character_), vcov = c(615.32, 16.17), sdcor = c(24.81, 4.02)), row.names = c(NA, -2L), class = c("vc.lmerMod", "data.frame")), tolerance=1e-1) # print method print(vc(m1l)) }) # ---------------------------------------------------------------------------- test_that("glmer", { skip_if(!require("lme4")) skip_if(packageVersion("lme4") < "2.0.1") m1g <- glmer(travel~1 + (1|Rail), data=Rail, family=gaussian(link="log")) ref_val <- structure(list(grp = "Rail", var1 = "(Intercept)", var2 = NA_character_, vcov = 0.147400652477768, sdcor = 0.383927926149906), row.names = c(NA, -1L), class = c("vc.lmerMod", "data.frame")) expect_equal( vc(m1g), ref_val, tolerance = 1e-1) # print print(vc(m1g)) }) # ---------------------------------------------------------------------------- test_that("asreml", { if(require("asreml")){ m1a <- asreml(travel~1, random=~Rail, data=Rail) expect_equal( vc(m1a), structure(list(effect = structure(1:2, .Label = c("Rail", "units!R"), class = "factor"), component = c(615.74, 16.18), std.error = c(391.58, 6.61), z.ratio = c(1.57, 2.45), bound=c("P", "P"), `%ch` = c(0.2, 0)), class = c("vc.asreml", "data.frame"), row.names = c(NA, -2L)), tolerance=1e-1) # print method print(vc(m1a)) }}) # ---------------------------------------------------------------------------- test_that("mmer",{ require("sommer") m1s <- mmer(travel~1, random = ~ Rail, data=Rail) expect_equal( vc(m1s), structure(list(effect = c("Rail.travel-travel", "units.travel-travel"), VarComp = c(615.26, 16.17), VarCompSE = c(392.28, 6.60), Zratio = c(1.57, 2.45), Constraint = c("Positive", "Positive")), row.names = c(NA, -2L), class = c("vc.mmer", "data.frame")), tolerance=1e-1) # print print(vc(m1s)) })