% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/seq_ttest.R
\name{seq_ttest}
\alias{seq_ttest}
\title{Sequential Probability Ratio Test using t-statistic}
\usage{
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
)
}
\arguments{
\item{x}{Works with two classes: \code{numeric} and \code{formula}. Therefore you can
write \code{"x"} or \code{"x~y"}.
\itemize{
\item \code{"numeric input"}: a (non-empty) numeric vector of data values.
\item \code{"formula input"}: a formula of the form lhs ~ rhs where lhs is a numeric
variable giving the data values and rhs either 1 for a one-sample test or a
factor with two levels giving the corresponding groups.
}}

\item{y}{An optional (non-empty) numeric vector of data values.
Only used for two-sample tests when \code{x} is numeric.}

\item{data}{An optional data frame containing the variables specified in the formula.
Only used when \code{x} is a formula.}

\item{mu}{a number indicating the true value of the mean (or difference in
means if you are performing a two sample test).}

\item{d}{a number indicating the specified (expected) effect size (Cohen's d)}

\item{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.}

\item{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.}

\item{alternative}{a character string specifying the alternative hypothesis,
must be one of \code{two.sided} (default), \code{greater} or \code{less}.
You can specify just the initial letter.}

\item{paired}{Logical indicating whether to perform a paired t-test.
Default is \code{FALSE}.}

\item{na.rm}{a logical value indicating whether \code{NA} values should be
removed before the computation proceeds.}

\item{verbose}{a logical value whether you want a verbose output or not.}
}
\value{
An object of the S4 class \code{\linkS4class{seq_ttest_results}}. Click on the
class link to see the full description of the slots.
To get access to the object use the
\code{@}-operator or \verb{[]}-brackets instead of \code{$}.
See the examples below.
}
\description{
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)
\url{doi:10.1037/met0000234}. For practical guidance, see
\code{vignette("t_test", package = "sprtt")}.
}
\examples{
# 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)
}
\seealso{
\itemize{
\item \code{\link[=seq_anova]{seq_anova()}} for sequential one-way ANOVA
\item \code{\link[=draw_sample_normal]{draw_sample_normal()}} for simulating test data
\item \code{vignette("t_test", package = "sprtt")} for detailed tutorial
\item \code{vignette("usage_sprtt", package = "sprtt")} for package overview
\item Schnuerch & Erdfelder (2019) \url{doi:10.1037/met0000234} for theoretical background
}
}
