Template for subtitles with statistical details for tests

  conf.level = 0.95,
  k = 2L,
  k.parameter = 0L,
  k.parameter2 = 0L,
  n.text = NULL,



An integer that specifies that the number of parameters for the statistical test. Can be 0 for non-parametric tests, 1 for tests based on t-statistic or chi-squared statistic, 2 for tests based on F-statistic.


A character that specifies the relevant test statistic. For example, for tests with t-statistic, statistic.text = "t". If you want to use plotmath, you will have to quote the argument (e.g., quote(italic("t"))).


A dataframe containing details from the statistical analysis and should contain some of the the following columns:

  • statistic: the numeric value of a statistic.

  • parameter: the numeric value of a parameter being modeled (often degrees of freedom for the test); note that if no.parameters = 0L (e.g., for non-parametric tests), this column will be irrelevant.

  • parameter1, parameter2 relevant only if the statistic in question has two degrees of freedom (e.g., anova).

  • p.value the two-sided p-value associated with the observed statistic.

  • estimate: estimated value of the effect size.

  • conf.low: lower bound for effect size estimate.

  • conf.high: upper bound for effect size estimate.


A character that specifies the relevant effect size. For example, for Cohen's d statistic, effsize.text = "d". If you want to use plotmath, you will have to quote the argument (e.g., quote(italic("d"))).


An integer specifying the sample size used for the test.


Scalar between 0 and 1. If unspecified, the defaults return 95% lower and upper confidence intervals (0.95).


Number of digits after decimal point (should be an integer) (Default: k = 2L).

k.parameter, k.parameter2

Number of decimal places to display for the parameters (default: 0).


A character that specifies the design, which will determine what the n stands for. For example, for repeated measures, this can be quote(italic("n")["pairs"]), while for independent subjects design this can be quote(italic("n")["obs"]). If NULL, defaults to generic quote(italic("n")).


Currently ignored.


set.seed(123) # creating a dataframe with stats results stats_df <- cbind.data.frame( statistic = 5.494, parameter = 29.234, p.value = 0.00001, estimate = -1.980, conf.low = -2.873, conf.high = -1.088 ) # subtitle for *t*-statistic with Cohen's *d* as effect size statsExpressions::expr_template( no.parameters = 1L, stats.df = stats_df, statistic.text = quote(italic("t")), effsize.text = quote(italic("d")), n = 32L, conf.level = 0.95, k = 3L, k.parameter = 3L )
#> paste(italic("t"), "(", "29.234", ") = ", "5.494", ", ", italic("p"), #> " = ", "1e-05", ", ", italic("d"), " = ", "-1.980", ", CI"["95%"], #> " [", "-2.873", ", ", "-1.088", "]", ", ", italic("n"), " = ", #> 32L)