| seq_ttest | R Documentation |
Performs one-sample, two-sample, and paired sequential t-tests, which are variants of Sequential Probability Ratio Tests (SPRT). The test allows for continuous monitoring of data collection and provides stopping boundaries based on likelihood ratios, offering efficiency gains over traditional fixed-N designs.
The sequential t-test continuously evaluates the likelihood ratio after each observation (or pair of observations), stopping when sufficient evidence accumulates for either H0 or H1.
For methodological details, see Schnuerch & Erdfelder (2019)
doi:10.1037/met0000234. For practical guidance, see
vignette("t_test", package = "sprtt").
seq_ttest(
x,
y = NULL,
data = NULL,
mu = 0,
d,
alpha = 0.05,
power = 0.95,
alternative = "two.sided",
paired = FALSE,
na.rm = TRUE,
verbose = TRUE
)
x |
Works with two classes:
|
y |
An optional (non-empty) numeric vector of data values.
Only used for two-sample tests when |
data |
An optional data frame containing the variables specified in the formula.
Only used when |
mu |
a number indicating the true value of the mean (or difference in means if you are performing a two sample test). |
d |
a number indicating the specified (expected) effect size (Cohen's d) |
alpha |
Type I error rate (alpha level). The probability of rejecting H0 when it is true. Default is 0.05. Must be between 0 and 1. |
power |
Statistical power (1 - beta), where beta is the Type II error rate. The probability of correctly rejecting H0 when H1 is true with effect size d. Default is 0.95. Must be between 0 and 1. Higher values lead to wider stopping boundaries and potentially larger sample sizes. |
alternative |
a character string specifying the alternative hypothesis,
must be one of |
paired |
Logical indicating whether to perform a paired t-test.
Default is |
na.rm |
a logical value indicating whether |
verbose |
a logical value whether you want a verbose output or not. |
An object of the S4 class seq_ttest_results. Click on the
class link to see the full description of the slots.
To get access to the object use the
@-operator or []-brackets instead of $.
See the examples below.
seq_anova() for sequential one-way ANOVA
draw_sample_normal() for simulating test data
vignette("t_test", package = "sprtt") for detailed tutorial
vignette("usage_sprtt", package = "sprtt") for package overview
Schnuerch & Erdfelder (2019) doi:10.1037/met0000234 for theoretical background
# set seed --------------------------------------------------------------------
set.seed(333)
# load library ----------------------------------------------------------------
library(sprtt)
# one sample: numeric input ---------------------------------------------------
treatment_group <- rnorm(20, mean = 0, sd = 1)
results <- seq_ttest(treatment_group, mu = 1, d = 0.8)
# get access to the slots -----------------------------------------------------
# @ Operator
results@likelihood_ratio
# [] Operator
results["likelihood_ratio"]
# two sample: numeric input----------------------------------------------------
treatment_group <- stats::rnorm(20, mean = 0, sd = 1)
control_group <- stats::rnorm(20, mean = 1, sd = 1)
seq_ttest(treatment_group, control_group, d = 0.8)
# two sample: formula input ---------------------------------------------------
stress_level <- stats::rnorm(20, mean = 0, sd = 1)
sex <- as.factor(c(rep(1, 10), rep(2, 10)))
seq_ttest(stress_level ~ sex, d = 0.8)
# NA in the data --------------------------------------------------------------
stress_level <- c(NA, stats::rnorm(20, mean = 0, sd = 2), NA)
sex <- as.factor(c(rep(1, 11), rep(2, 11)))
seq_ttest(stress_level ~ sex, d = 0.8, na.rm = TRUE)
# work with dataset (data are in the package included) ------------------------
seq_ttest(monthly_income ~ sex, data = df_income, d = 0.8)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.