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
# Conduct analyses
sleep_wide <- reshape(
sleep,
direction = "wide",
idvar = "ID",
timevar = "group",
sep = "_"
)
sleep_test <- t.test(sleep_wide$extra_1, sleep_wide$extra_2, paired = TRUE)
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)
npk_aov <- aov(yield ~ block + N * P * K, npk)
# Create an empty list to store the statistics in
statistics <- list()
# Add statistics
statistics <- statistics |>
add_stats(sleep_test, type = "primary", preregistered = TRUE) |>
add_stats(lm_D9) |>
add_stats(npk_aov, notes = "An ANOVA example")
# Convert the list to a data frame
df <- tidy_stats_to_data_frame(statistics)
# Select all the p-values
dplyr::filter(df, statistic_name == "p")
#> # A tibble: 11 × 12
#> identifier analysis_name group_name_1 group_name_2 statistic_name symbol
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 sleep_test sleep_wide$extra_… NA NA p NA
#> 2 lm_D9 weight ~ group Model NA p NA
#> 3 lm_D9 weight ~ group Coefficients (Intercept) p NA
#> 4 lm_D9 weight ~ group Coefficients groupTrt p NA
#> 5 npk_aov yield ~ block + N… Terms block p NA
#> 6 npk_aov yield ~ block + N… Terms N p NA
#> 7 npk_aov yield ~ block + N… Terms P p NA
#> 8 npk_aov yield ~ block + N… Terms K p NA
#> 9 npk_aov yield ~ block + N… Terms N:P p NA
#> 10 npk_aov yield ~ block + N… Terms N:K p NA
#> 11 npk_aov yield ~ block + N… Terms P:K p NA
#> # ℹ 6 more variables: subscript <chr>, lower <dbl>, value <dbl>, upper <dbl>,
#> # interval <chr>, level <dbl>