Type: | Package |
Depends: | R (≥ 4.1.0) |
Title: | Tidy Common R Statistical Functions |
Version: | 0.1.0 |
Maintainer: | Brendan Ansell <ansell.b@wehi.edu.au> |
Description: | Provides functions to scale, log-transform and fit linear models within a 'tidyverse'-style R code framework. Intended to smooth over inconsistencies in output of base R statistical functions, allowing ease of teaching, learning and daily use. Inspired by the tidy principles used in 'broom' Robinson (2017) <doi:10.21105/joss.00341>. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Imports: | broom, glue, purrr, dplyr, rlang, stringr, stats |
Suggests: | ggplot2, knitr, magrittr, rmarkdown |
NeedsCompilation: | no |
Packaged: | 2025-06-07 10:17:34 UTC; ansell.b |
Author: | Brendan Ansell |
Repository: | CRAN |
Date/Publication: | 2025-06-11 13:00:02 UTC |
Linear Model Testing for Grouped, Nested, or Ungrouped Data
Description
Applies a linear model to a data frame and returns tidy model summaries. Supports ungrouped, grouped (dplyr::group_by()), and nested (tidyr::nest_by()) input data.
Usage
lm_test(input_data, formula)
Arguments
input_data |
A data frame or tibble. Can be ungrouped, grouped, or nested. |
formula |
A model formula, either quoted or unquoted (e.g., y ~ x * z , or "y ~ x * z"). |
Details
Designed to allow seamless 'in-line' chaining to fit linear models to columns of a tibble. Compatible with ungrouped, grouped or nested input. Compatible with native and magrittr pipe. Uses broom::tidy() to extract model summaries.
Value
A tibble with tidy model output sorted by p value, including:
- term
Model term (e.g., intercept, predictors, interactions)
- estimate
Estimated coefficient / beta
- std.error
Standard error of the estimate
- statistic
t-statistic
- p.value
p-value for the hypothesis test
If the input is grouped or nested, group identifiers are retained in the output. In the nested case, nested terms are relocated to the left-most column of the tibble.
Examples
library(ggplot2)
library(dplyr)
# Ungrouped
mpg |> lm_test( cty ~ hwy * cyl)
# Grouped
mpg |> group_by(class) |> lm_test(cty ~ hwy * cyl)
# Nested
mpg |> nest_by(class) |> lm_test(cty ~ hwy * cyl)
Negative Logarithm (Base 10 by Default)
Description
Computes the negative logarithm of a numeric input using base 10 by default.
Usage
neg_log(x, base = 10)
neglog(x, base = 10)
Arguments
x |
A numeric vector. Values must be positive. |
base |
A numeric value specifying the base of the logarithm. Default is 10. |
Details
This function returns the negative logarithm of 'x'. By default, it uses base 10, but you can specify a different base using the 'base' argument. Designed for quickly transforming p values for statistical analysis.
Value
A numeric vector of negative logarithmic values.
Examples
pvals <- 10^runif(10, -15, -1)
neg_log(pvals)
Scale a numeric vector without converting to a matrix
Description
This function scales and centres a numeric vector by subtracting the mean and dividing by the standard deviation. Unlike 'scale()', it returns a numeric vector, not a matrix. Note this function does not allow control over centering or scaling.
Usage
scale_this(x)
Arguments
x |
A numeric vector. |
Value
A numeric vector of scaled values.
Examples
iris_dat <- head(iris$Sepal.Length)
scale_this(iris_dat)
scale_this(c(iris_dat, NA))