@@ -26,3 +26,45 @@ test_that("r2_mcfadden", {
2626 }
2727 )
2828})
29+
30+ skip_if_not_installed(" withr" )
31+
32+ withr :: with_environment(
33+ new.env(),
34+ {
35+ test_that(" r2_mcfadden, glmmTMB-beta-binomial" , {
36+ skip_if_not_installed(" glmmTMB" )
37+ set.seed(101 )
38+ dd <- data.frame (x = rnorm(200 ))
39+ dd $ y <- glmmTMB :: simulate_new(
40+ ~ 1 + x ,
41+ newdata = dd ,
42+ newparams = list (beta = c(0 ,1 ), betadisp = - 1 ),
43+ weights = rep(10 , nrow(dd )),
44+ family = glmmTMB :: betabinomial()
45+ )[[1 ]]
46+ dd $ success <- round(runif(nrow(dd ), 0 , dd $ y ))
47+ d <<- dd
48+
49+ m <- glmmTMB :: glmmTMB(
50+ y / 10 ~ 1 + x ,
51+ data = d ,
52+ weights = rep(10 , nrow(d )),
53+ family = glmmTMB :: betabinomial()
54+ )
55+ out1 <- r2(m )
56+ out2 <- r2_mcfadden(m )
57+ expect_equal(out1 $ R2 , out2 $ R2 , tolerance = 1e-4 , ignore_attr = TRUE )
58+ expect_equal(out1 $ R2 , 0.06892733 , tolerance = 1e-4 , ignore_attr = TRUE )
59+
60+ m <- glmmTMB :: glmmTMB(
61+ cbind(y , success ) ~ 1 + x ,
62+ data = d ,
63+ weights = rep(10 , nrow(d )),
64+ family = glmmTMB :: betabinomial()
65+ )
66+ expect_warning(r2(m ), regex = " calculate accurate" )
67+ expect_warning(r2_mcfadden(m ), regex = " calculate accurate" )
68+ })
69+ }
70+ )
0 commit comments