The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This document collects call patterns and
options for each public function. All formulas follow
response ~ A + B (+ C ...) with a numeric
response and factor predictors.
srh.kway.full()
Purpose: one-call pipeline for rank-based ANOVA,
descriptive statistics, post hocs, and simple effects.
Syntax:
srh.kway.full(y ~ A + B (+ C ...), data, max_levels = 30, type = 2, scope = c("within", "global"))
srh.kway()type = 2:
srh.effsize()type = 3: srh.kway()srh.kway()anovasummaryposthoc_cellsposthoc_simplemeta"[not applicable]" when a component does not apply
(e.g., simple effects for a one-factor design),"[failed] ..." when a sub-step fails but the overall
pipeline continues.Example:
res <- srh.kway.full(liking ~ gender + condition + age_cat, data = mimicry)
names(res)
res$anova[1:3]
head(res$summary)
names(res$posthoc_cells)
names(res$posthoc_simple)
res$meta
Notes:
max_levels levels.type must be either 2 or
3.scope controls Bonferroni adjustment in
posthoc_simple; the default is "within", which
is passed down to srh.simple.posthocs() and
srh.simple.posthoc().type is accepted for interface
consistency, but it has no practical effect on the result.type = 2 keeps the SRH-style
pipeline via srh.effsize(), whereas type = 3
routes the analysis through srh.kway() to follow the logic
of Type III sums of squares.srh.kway() using the requested type.res$meta$warnings.write.srh.kway.full.tsv()
Purpose: export the srh.kway.full()
result into a single TSV file for fast formatting.
Syntax:
write.srh.kway.full.tsv(obj, file = "srh_kway_full.tsv", sep = "\t", na = "", dec = ".")
dec = "." or "," controls the decimal
mark.dec = "," also affects numbers embedded
in strings.META section exports n,
levels, scope, design diagnostics, warnings,
and the original call when available.Example:
f <- file.path(tempdir(), "result.tsv")
write.srh.kway.full.tsv(res, file = f, dec = ",")
file.exists(f)
srh.kway()
Purpose: general k-way SRH-style ANOVA on ranks,
tie-corrected p-values, and rank-based effect sizes.
Syntax:
srh.kway(y ~ A + B (+ C ...), data, clamp0 = TRUE, force_factors = TRUE, type = 2, ...)
Effect, Df, Sum Sq,
H, Hadj (tie correction),
p.chisq, k, n,
eta2H, eps2H.eta2H and eps2H are computed from
unadjusted H (classical SRH practice).force_factors = TRUE coerces predictors to factor
(recommended).type controls sums of squares. Default
type = 2 (Type II SS). Set type = 3 for Type
III SS (internally uses sum-to-zero contrasts; no global options are
changed).Example:
k3 <- srh.kway(liking ~ gender + condition + age_cat, data = mimicry)
k3
One-factor check (KW-like):
k1 <- srh.kway(liking ~ condition, data = mimicry)
k1
Two-factor Type III SS:
k2_ss3 <- srh.kway(liking ~ gender + condition, data = mimicry, type = 3)
k2_ss3
srh.effsize()
Purpose: 2-factor SRH table with effect sizes from
H.
Syntax:
srh.effsize(y ~ A + B, data, clamp0 = TRUE, ...)
clamp0 = TRUE clamps small negatives to 0 for effect
sizes.srh.kway.full(..., type = 2).Example:
e2 <- srh.effsize(liking ~ gender + condition, data = mimicry)
e2
nonpar.datatable()
Purpose: compact descriptive tables (APA-style),
with global mean ranks, medians, quartiles, and
IQR.
Syntax:
nonpar.datatable(y ~ A + B (+ C ...), data, force_factors = TRUE)
Example:
dt <- nonpar.datatable(liking ~ gender + condition, data = mimicry)
head(dt)
srh.posthoc()
Purpose: Dunn-Bonferroni pairwise comparison
matrix for one specified effect.
Syntax:
srh.posthoc(y ~ A (+ B + ...), data, method = "bonferroni", digits = 3, triangular = c("lower","upper","full"), numeric = FALSE, force_factors = TRUE, sep = ".")
FSA::dunnTest().Z,
P.unadj, P.adj.triangular = "lower" (default) shows only the lower
triangle; diagonal and upper triangle are masked.numeric = FALSE returns pretty-printed character
tables; set TRUE to get numeric tables.Example:
ph <- srh.posthoc(liking ~ condition, data = mimicry)
srh.posthocs()
Purpose: Dunn-Bonferroni pairwise matrices
for all effects (main effects and interactions).
Syntax:
srh.posthocs(y ~ A + B (+ C ...), data, ...)
srh.posthoc() over: A,
B, C, A:B, A:C,
B:C, A:B:C, …"A", "B",
"A:B", etc.; each value is a P.adj
matrix.Example:
phs <- srh.posthocs(liking ~ gender + condition + age_cat, data = mimicry)
names(phs)
phs[["gender:condition"]][1:5, 1:5]
srh.simple.posthoc()
Purpose: Simple-effects post hocs
(pairwise comparisons within levels of conditioning
factors).
Syntax:
srh.simple.posthoc(y ~ A + B (+ C ...), data, compare = NULL, scope = c("within","global"), digits = 3)
compare selects the target factor for pairwise
comparisons (default: the first RHS factor)."within" (default): Bonferroni within each
by-table (SPSS-like),"global": one Bonferroni correction across
all tests from all by-tables combined.BY),
Comparison, Z, P.unadj,
P.adj, m.tests, adj.note. An
"adjustment" attribute describes the correction.Example:
simp <- srh.simple.posthoc(
liking ~ gender + condition + age_cat,
data = mimicry,
compare = "gender",
scope = "within"
)
head(simp)
srh.simple.posthocs()
Purpose: enumerate all simple-effect
configurations for a given design.
Syntax:
srh.simple.posthocs(y ~ A + B (+ C ...), data, scope = c("within", "global"))
BY, runs
srh.simple.posthoc(..., compare = target, scope = scope).scope = "within", which applies Bonferroni
adjustment within each simple-effects table.scope = "global" to apply one Bonferroni adjustment
across all pairwise tests within each simple-effects table.COMPARE(gender) | BY(condition x age_cat).Example:
sps <- srh.simple.posthocs(liking ~ gender + condition + age_cat, data = mimicry)
head(names(sps), 6)
Global-adjustment variant:
sps_g <- srh.simple.posthocs(
liking ~ gender + condition + age_cat,
data = mimicry,
scope = "global"
)
head(names(sps_g), 6)
as_jamovi_srh_full()
Purpose: normalize srh.kway.full()
output into a stable Jamovi-ready list structure.
Syntax:
as_jamovi_srh_full(x, show_diagnostics = TRUE, show_intercept = FALSE, keep_empty = FALSE, posthoc_cells_view = c("long", "matrix"), plan_diagnostics = NULL)
"long" or "matrix" view for post
hoc cell comparisons.Example:
res <- srh.kway.full(liking ~ gender + condition, data = mimicry)
jam <- as_jamovi_srh_full(res)
names(jam)
normality.datatable()
Purpose: Shapiro-Wilk normality tests for the raw
response within each subgroup for all factor combinations.
Syntax:
normality.datatable(y ~ A + B (+ C ...), data, force_factors = TRUE)
Effect, factor columns, count,
W, p.shapiro (fixed-format to 4 decimals, no
scientific notation), and OK/NOT OK
(p < 0.05 => NOT OK).Example:
normality.datatable(liking ~ gender + condition + age_cat, data = mimicry)
residuals.normality.datatable()
Purpose: Shapiro-Wilk tests on global residuals from
a classical ANOVA fitted to the selected factors; one test per
model.
Syntax:
residuals.normality.datatable(y ~ A + B (+ C ...), data, force_factors = TRUE)
Effect (A,
B, A:B, …), with count,
W, p.shapiro (4 decimals),
OK/NOT OK.Example:
residuals.normality.datatable(liking ~ gender + condition + age_cat, data = mimicry)
residuals.cellwise.normality.datatable()
Purpose: Shapiro-Wilk tests of residuals from a
classical ANOVA model, tested separately within each cell.
Syntax:
residuals.cellwise.normality.datatable(y ~ A + B (+ C ...), data, force_factors = TRUE)
Effects, with
count, W, p.shapiro (4 decimals),
OK/NOT OK.Example:
residuals.cellwise.normality.datatable(liking ~ gender + condition + age_cat, data = mimicry)
balance.chisq.datatable()
Purpose: count-balance diagnostics across design
factors.
Syntax:
balance.chisq.datatable(y ~ A + B (+ C ...), data, force_factors = TRUE)
Effect, n, ChiSq (4
decimals), df, p.chisq (4 decimals),
OK/NOT OK (p < 0.05 => NOT OK).Example:
balance.chisq.datatable(liking ~ gender + condition + age_cat, data = mimicry)
levene.plan.datatable()
Purpose: Levene/Brown-Forsythe test for homogeneity
of variances across full-plan cells (highest-order interaction of RHS
factors).
Syntax:
levene.plan.datatable(y ~ A + B (+ C ...), data, center = "median", force_factors = TRUE)
F, df.num, df.den,
p (4 decimals), and OK/NOT OK
(p < 0.05 => NOT OK).Examples:
levene.plan.datatable(liking ~ gender + condition + age_cat, data = mimicry)
levene.plan.datatable(liking ~ gender + condition, data = mimicry, center = "mean")
plan.diagnostics()
Purpose: orchestrates all diagnostics in one
call.
Syntax:
plan.diagnostics(y ~ A + B (+ C ...), data, force_factors = TRUE)
Returned list:
$summary: percent_ok, ok_count, total, overall, plus per-type percentages:
percent_ok_normality_raw, percent_ok_residuals_cellwise, percent_ok_balance_chisq, percent_ok_levene_full_plan.
$results: normality_raw, residuals_cellwise_normality, levene_full_plan, balance_chisq.
Examples:
diag_out <- plan.diagnostics(liking ~ gender + condition + age_cat, data = mimicry)
diag_out$results$normality_raw
diag_out$results$residuals_cellwise_normality
diag_out$results$levene_full_plan
diag_out$results$balance_chisq
diag_out$summary
Formula tips and pitfalls
A:B or A*B.
Use A + B (+ C ...); the package computes all necessary
interaction structures internally.1..k.Example:
mimicry$gender <- factor(mimicry$gender)
mimicry$condition <- factor(mimicry$condition)
Performance and reproducibility
type.C:0u34e45b057346-reference.R
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.