Mattan S. Ben-Shachar
2023-Nov-07 00:21 UTC
[Rd] Inconsistency in paired t.test() interface?
Hi all, In the next release of R (4.4) the option to obtain a paired t.test with the formula interface for "long" data has been removed: t.test(x ~ group, paired = TRUE) # now results in an error. Exploring how one might obtain a paired t.test, there seems to be some inconsistency between the formula and default interfaces as well as within the formula interface. ``` extra.1 <- c(0.7, -1.6, -0.2, -1.2, -0.1, 3.4, 3.7, 0.8, 0, 2) extra.2 <- c(1.9, 0.8, 1.1, 0.1, -0.1, 4.4, 5.5, 1.6, 4.6, 3.4) group <- rep(letters[1:2], each = 5) t.test(Pair(extra.1, extra.2) ~ 1) # Paired t.test t.test(Pair(extra.1, extra.2)) # NOT a paired t.test - this is actually a one sample t-test t.test(c(extra.1, extra.2)) # it is actually the same as combining the vectors # likewise, these two are the same: t.test(Pair(extra.1, extra.2), Pair(extra.1, extra.2)) t.test(c(extra.1, extra.2), c(extra.1, extra.2)) t.test(Pair(extra.1, extra.2) ~ group) # This gives a two-sample test? (I would expect it to fail) t.test(c(extra.1, extra.2) ~ c(group, group)) # is once again the same as combining the vectors: ``` The docs do say:> If lhs is of class "Pair" and rhs is 1, a paired test is done.But I would have expected a Pair object to behave similarly outside a formula as well, that is - I would have expected a `Pair` object to result in a paired t-test (and not accept a `y` argument, or ignore it), and for a formula `Pair(x, y) ~ group` to throw an error. (This behavior is also found in wilcox.test()) My mental model expects the default and formula methods to be consitant, so that these and only these would work: - One sample: - `x` is a vector, `y` is `NULL` - `x ~ 1` formula - Paired sample - `x,y` are numeric vectors + `paired = TRUE` - `x` is a `Pair` object (`y` is ignored) - `Pair(x,y) ~ 1` formula - Two Samples - `x,y` are nueric vectors (`paired = FALSE`) - `x ~ group` formula Any pointers on where my mental model is going wrong? Thanks, Mattan [[alternative HTML version deleted]]