pval_string: Format P-values for Reports

View source: R/pval_string.R

pval_stringR Documentation

Format P-values for Reports


Convert numeric p-values to character strings according to pre-defined formatting parameters. Additional formats may be added for required or desired reporting standards.


pval_string(p, format = c("default", "exact", "scientific"), digits = 3, ...)

pvalString(p, format = c("default", "exact", "scientific"), digits = 3, ...)



a numeric vector of p-values.


A character string indicating the desired format for the p-values. See Details for full descriptions.


For "exact" and "scientific"; indicates the number of digits to precede scientific notation.


Additional arguments to be passed to format


When format = "default", p-values are formatted:

  1. p > 0.99: "> 0.99"

  2. 0.99 > p > 0.10: Rounded to two digits

  3. 0.10 > p > 0.001: Rounded to three digits

  4. 0.001 > p: "< 0.001"

When format = "exact", the exact p-value is printed with the number of places after the deimal equal to digits. P-values smaller that 1*(10^-digits) are printed in scientific notation.

When format = "scientific", all values are printed in scientific notation with digits digits printed before the e.

Functional Requirements

  1. When format = "default", print p-values greater than 0.99 as "> 0.99"; greater than 0.10 with two digits; greater than 0.001 with three digits; and less than 0.001 as "< 0.001".

  2. when format = "exact", print the exact p-value out to at most digits places past the decimal place.

  3. When format = "scientific", print the p-value in scientific notation with up to digits values ahead of the e.

  4. Cast an error if p is not numeric on the interval [0, 1]

  5. Cast an error if format is not one of c("default", "exact", "scientific").

  6. Cast an error if digits is not integerish(1).


Benjamin Nutter


 p <- c(1, .999, .905, .505, .205, .125, .09531,
        .05493, .04532, .011234, .0003431, .000000342)
 pvalString(p, format="default")
 pvalString(p, format="exact", digits=3)
 pvalString(p, format="exact", digits=2)
 pvalString(p, format="scientific", digits=3)
 pvalString(p, format="scientific", digits=4)

pixiedust documentation built on Oct. 10, 2023, 9:07 a.m.