Convert a tidystats list to a data frame
Source:R/tidy_stats_to_data_frame.R
tidy_stats_to_data_frame.Rd
tidy_stats_to_data_frame
converts a tidystats list to a data frame,
which can then be used to extract specific statistics using standard
subsetting functions (e.g., dplyr::filter
).
Examples
# t-test:
sleep_test <- t.test(extra ~ group, data = sleep, paired = TRUE)
# lm:
ctl <- c(4.17, 5.58, 5.18, 6.11, 4.50, 4.61, 5.17, 4.53, 5.33, 5.14)
trt <- c(4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69)
group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))
weight <- c(ctl, trt)
lm_D9 <- lm(weight ~ group)
# ANOVA:
npk_aov <- aov(yield ~ block + N * P * K, npk)
#' # Create an empty list
results <- list()
# Add output to the results list
results <- results |>
add_stats(sleep_test) |>
add_stats(lm_D9, type = "primary", preregistered = TRUE) |>
add_stats(npk_aov, notes = "An ANOVA example")
# Convert the list to a data frame
results_df <- tidy_stats_to_data_frame(results)
# Select all the p-values
dplyr::filter(results_df, statistic == "p")
#> # A tibble: 11 × 8
#> identifier term statistic value extra method type preregistered
#> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr>
#> 1 sleep_test NA p 2.83e- 3 NA Paired t… NA NA
#> 2 lm_D9 NA p 2.49e- 1 NA Linear r… prim… yes
#> 3 lm_D9 (Intercept) p 9.55e-15 NA Linear r… prim… yes
#> 4 lm_D9 groupTrt p 2.49e- 1 NA Linear r… prim… yes
#> 5 npk_aov block p 1.59e- 2 NA ANOVA NA NA
#> 6 npk_aov N p 4.37e- 3 NA ANOVA NA NA
#> 7 npk_aov P p 4.75e- 1 NA ANOVA NA NA
#> 8 npk_aov K p 2.88e- 2 NA ANOVA NA NA
#> 9 npk_aov N:P p 2.63e- 1 NA ANOVA NA NA
#> 10 npk_aov N:K p 1.69e- 1 NA ANOVA NA NA
#> 11 npk_aov P:K p 8.63e- 1 NA ANOVA NA NA