From 7570a9ab857ab3390e34eaa12d095d708582ec07 Mon Sep 17 00:00:00 2001 From: FBartos Date: Fri, 8 Nov 2024 13:53:58 +0100 Subject: [PATCH] Update contingencytables.R adds a footnote that continuity correction is not available for other than 2x2 tables fixes: https://github.com/jasp-stats/jasp-issues/issues/2829 --- R/contingencytables.R | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/R/contingencytables.R b/R/contingencytables.R index 6e893259..02b7861c 100644 --- a/R/contingencytables.R +++ b/R/contingencytables.R @@ -224,6 +224,9 @@ ContingencyTablesInternal <- function(jaspResults, dataset, options, ...) { groupList <- .crossTabComputeGroups(dataset, options, analysisContainer, analysis, ready) # Compute/get Group List res <- try(.crossTabTestsRows(analysisContainer, groupList$rows, groupList, options, ready, counts.fp)) + if (ready && !.crossTabIs2x2(table(dataset[[analysis[["columns"]]]], dataset[[analysis[["rows"]]]]))) + crossTabChisq$addFootnote(gettext("Continuity correction is available only for 2x2 tables.")) + .crossTabSetErrorOrFill(res, crossTabChisq) } } @@ -708,6 +711,10 @@ ContingencyTablesInternal <- function(jaspResults, dataset, options, ...) { return(unlist(rowNames)) } +.crossTabIs2x2 <- function(counts.matrix) { + return(all(dim(counts.matrix) == 2L)) +} + # Group matrix .crossTabGroupMatrices <- function(dataset, rows, columns, groups, counts = NULL, rowOrderDescending = FALSE, @@ -1052,7 +1059,7 @@ ContingencyTablesInternal <- function(jaspResults, dataset, options, ...) { row[["type[chiSquared-cc]"]] <- gettextf("%s continuity correction", "\u03A7\u00B2") - if (ready) { + if (ready && .crossTabIs2x2(counts.matrix)) { chi.result <- try({ chi.result <- stats::chisq.test(counts.matrix)