Skip to content

Commit db218c6

Browse files
committed
Add support for WRS2::yuenbt() and WRS2::pb2gen()
Fixes #1083
1 parent d69d263 commit db218c6

File tree

7 files changed

+74
-36
lines changed

7 files changed

+74
-36
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Type: Package
22
Package: parameters
33
Title: Processing of Model Parameters
4-
Version: 0.24.2.16
4+
Version: 0.24.2.17
55
Authors@R:
66
c(person(given = "Daniel",
77
family = "Lüdecke",

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ S3method(model_parameters,pairwise.htest)
310310
S3method(model_parameters,pam)
311311
S3method(model_parameters,parameters_efa)
312312
S3method(model_parameters,parameters_pca)
313+
S3method(model_parameters,pb2)
313314
S3method(model_parameters,pgmm)
314315
S3method(model_parameters,poissonirr)
315316
S3method(model_parameters,poissonmfx)

NEWS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
* Argument `wb_component` now defaults to `FALSE`.
1313

14+
* Improved support and printing for tests from package *WRS2*.
15+
1416
## Bug fixes
1517

1618
* Fixed printing issue with `model_parameters()` for `htest` objects when

R/format.R

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,6 @@ format.parameters_model <- function(x,
109109
}
110110
}
111111

112-
# Special print for mcp from WRS2
113-
if (!is.null(m_class) && any(m_class %in% c("mcp1", "mcp2"))) {
114-
x$Group1 <- paste(x$Group1, x$Group2, sep = " vs. ")
115-
x$Group2 <- NULL
116-
colnames(x)[1] <- "Group"
117-
}
118-
119112
# check if we have mixed models with random variance parameters
120113
# in such cases, we don't need the group-column, but we rather
121114
# merge it with the parameter column

R/methods_wrs2.R

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -133,49 +133,63 @@ model_parameters.yuen <- function(model, verbose = TRUE, ...) {
133133
fcall <- insight::safe_deparse(model$call)
134134

135135
# the latter regexe covers `rlang::exec` or `do.call` instances
136-
137-
# between-subjects
138136
if (grepl("^(yuen\\(|WRS2::yuen\\()", fcall) ||
137+
grepl("^(yuenbt\\(|WRS2::yuenbt\\()", fcall) ||
139138
grepl("function (formula, data, tr = 0.2, ...)", fcall, fixed = TRUE)) {
140-
out <- data.frame(
141-
t = model$test,
142-
df_error = model$df,
143-
p = model$p.value,
144-
Method = "Yuen's test on trimmed means for independent samples",
145-
Difference = model$diff,
146-
CI = 0.95,
147-
Difference_CI_low = model$conf.int[1],
148-
Difference_CI_high = model$conf.int[2],
149-
Estimate = model$effsize,
150-
Effectsize = "Explanatory measure of effect size",
151-
stringsAsFactors = FALSE
152-
)
139+
# between-subjects
140+
method <- "Yuen's test on trimmed means for independent samples"
153141
} else {
154142
# within-subjects
155-
out <- data.frame(
156-
t = model$test,
157-
df_error = model$df,
158-
p = model$p.value,
159-
Method = "Yuen's test on trimmed means for dependent samples",
160-
Difference = model$diff,
161-
CI = 0.95,
162-
Difference_CI_low = model$conf.int[1],
163-
Difference_CI_high = model$conf.int[2],
164-
Estimate = model$effsize,
165-
Effectsize = "Explanatory measure of effect size",
166-
stringsAsFactors = FALSE
167-
)
143+
method <- "Yuen's test on trimmed means for dependent samples"
144+
}
145+
146+
out <- data.frame(
147+
t = model$test,
148+
df_error = model$df,
149+
p = model$p.value,
150+
Method = method,
151+
Difference = model$diff,
152+
CI = 0.95,
153+
Difference_CI_low = model$conf.int[1],
154+
Difference_CI_high = model$conf.int[2],
155+
stringsAsFactors = FALSE
156+
)
157+
158+
if (!is.null(model$effsize)) {
159+
out$Estimate <- model$effsize
160+
out$Effectsize <- "Explanatory measure of effect size"
168161
}
169162

170163
out
171164
}
172165

166+
#' @export
167+
model_parameters.pb2 <- function(model, verbose = TRUE, ...) {
168+
parameters <- .extract_wrs2_pb2(model)
169+
parameters <- .add_htest_parameters_attributes(parameters, model, ...)
170+
class(parameters) <- c("parameters_model", "see_parameters_model", class(parameters))
171+
parameters
172+
}
173+
174+
.extract_wrs2_pb2 <- function(model) {
175+
data.frame(
176+
t = model$test,
177+
p = model$p.value,
178+
Method = "Robust t-test for independent samples",
179+
CI = 0.95,
180+
CI_low = model$conf.int[1],
181+
CI_high = model$conf.int[2],
182+
stringsAsFactors = FALSE
183+
)
184+
}
185+
173186
# pairwise comparisons ----------------------
174187

175188
#' @export
176189
model_parameters.mcp1 <- function(model, verbose = TRUE, ...) {
177190
parameters <- .extract_wrs2_mcp12(model)
178191
parameters <- .add_htest_parameters_attributes(parameters, model, ...)
192+
attr(parameters, "no_caption") <- TRUE
179193
class(parameters) <- c("parameters_model", "see_parameters_model", class(parameters))
180194
parameters
181195
}
@@ -200,6 +214,7 @@ model_parameters.mcp2 <- model_parameters.mcp1
200214
# reorder
201215
col_order <- c("Group1", "Group2", "Psihat", "CI", "CI_low", "CI_high", "p", "p.crit")
202216
out <- out[col_order[col_order %in% names(out)]]
217+
attr(parameters, "no_caption") <- TRUE
203218

204219
out
205220
}

tests/testthat/_snaps/wrs2.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# model_parameters.mcp and robtab
2+
3+
Code
4+
print(df_b, table_width = Inf)
5+
Output
6+
Group1 | Group2 | Psihat | 95% CI | p
7+
-------------------------------------------------
8+
placebo | low | -1.00 | [-5.32, 3.32] | 0.435
9+
placebo | high | -3.00 | [-7.32, 1.32] | 0.181
10+
low | high | -2.00 | [-6.32, 2.32] | 0.317
11+

tests/testthat/test-wrs2.R

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,31 @@ data(spider, package = "WRS2")
88
test_that("model_parameters.t1way", {
99
set.seed(123)
1010
df_b <- model_parameters(WRS2::t1way(libido ~ dose, data = viagra))
11+
expect_named(
12+
df_b,
13+
c(
14+
"F", "df", "df_error", "p", "Method", "Estimate", "CI", "CI_low",
15+
"CI_high", "Effectsize"
16+
)
17+
)
1118

1219
set.seed(123)
1320
df_w <- model_parameters(WRS2::rmanova(WineTasting$Taste, WineTasting$Wine, WineTasting$Taster))
21+
expect_named(df_w, c("F", "df", "df_error", "p", "Method"))
1422
})
1523

1624
# model_parameters.yuen ---------------------------------------------------
1725

1826
test_that("model_parameters.yuen", {
1927
set.seed(123)
2028
df_b <- model_parameters(WRS2::yuen(Anxiety ~ Group, data = spider))
29+
expect_named(
30+
df_b,
31+
c(
32+
"t", "df_error", "p", "Method", "Difference", "CI", "Difference_CI_low",
33+
"Difference_CI_high", "Estimate", "Effectsize"
34+
)
35+
)
2136

2237
before <- c(190, 210, 300, 240, 280, 170, 280, 250, 240, 220)
2338
after <- c(210, 210, 340, 190, 260, 180, 200, 220, 230, 200)
@@ -30,6 +45,7 @@ test_that("model_parameters.yuen", {
3045
test_that("model_parameters.mcp and robtab", {
3146
set.seed(123)
3247
df_b <- model_parameters(WRS2::lincon(libido ~ dose, data = viagra))
48+
expect_snapshot(print(df_b, table_width = Inf))
3349

3450
set.seed(123)
3551
df_w <- model_parameters(WRS2::rmmcp(WineTasting$Taste, WineTasting$Wine, WineTasting$Taster))

0 commit comments

Comments
 (0)