Skip to content

Commit

Permalink
updates for snapshots + add long version of stats (mean, median, geom…
Browse files Browse the repository at this point in the history
…_mean) to s_summary.numeric
  • Loading branch information
iaugusty committed Sep 27, 2024
1 parent bcc0cbd commit 4976bb5
Show file tree
Hide file tree
Showing 7 changed files with 270 additions and 78 deletions.
8 changes: 8 additions & 0 deletions R/analyze_variables.R
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ s_summary.numeric <- function(x,
mean_sdi <- y$mean[[1]] + c(-1, 1) * stats::sd(x, na.rm = FALSE)
names(mean_sdi) <- c("mean_sdi_lwr", "mean_sdi_upr")
y$mean_sdi <- formatters::with_label(mean_sdi, "Mean -/+ 1xSD")
mean_long <- c(y$mean, y$mean_ci)
y$mean_long <- formatters::with_label(mean_long, paste0("Mean (", f_conf_level(control$conf_level), ")"))

mean_pval <- stat_mean_pval(x, test_mean = control$test_mean, na.rm = FALSE, n_min = 2)
y$mean_pval <- formatters::with_label(mean_pval, paste("Mean", f_pval(control$test_mean)))
Expand All @@ -199,6 +201,9 @@ s_summary.numeric <- function(x,
median_ci <- stat_median_ci(x, conf_level = control$conf_level, na.rm = FALSE, gg_helper = FALSE)
y$median_ci <- formatters::with_label(median_ci, paste("Median", f_conf_level(control$conf_level)))

median_long <- c(y$median, median_ci)
y$median_long <- formatters::with_label(median_long, paste0("Median (", f_conf_level(control$conf_level), ")"))

q <- control$quantiles
if (any(is.na(x))) {
qnts <- rep(NA_real_, length(q))
Expand Down Expand Up @@ -231,6 +236,9 @@ s_summary.numeric <- function(x,

y$geom_cv <- c("geom_cv" = sqrt(exp(stats::sd(log(x_no_negative_vals), na.rm = FALSE) ^ 2) - 1) * 100) # styler: off

geom_mean_long <- c(y$geom_mean, y$geom_mean_ci)
y$geom_mean_long <- formatters::with_label(geom_mean_long, paste0("Geometric Mean (", f_conf_level(control$conf_level), ")"))

Check warning on line 240 in R/analyze_variables.R

View workflow job for this annotation

GitHub Actions / SuperLinter 🦸‍♀️ / Lint R code 🧶

file=R/analyze_variables.R,line=240,col=121,[line_length_linter] Lines should not be more than 120 characters. This line is 127 characters.

y
}

Expand Down
7 changes: 6 additions & 1 deletion R/utils_default_stats_formats_labels.R
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,8 @@ tern_default_stats <- list(
"n", "sum", "mean", "sd", "se", "mean_sd", "mean_se", "mean_ci", "mean_sei", "mean_sdi", "mean_pval",
"median", "mad", "median_ci", "quantiles", "iqr", "range", "min", "max", "median_range", "cv",
"geom_mean", "geom_mean_ci", "geom_cv",
"mean_long", "median_long", "geom_mean_long"
"median_long",
"mean_long", "geom_mean_long"
),
count_cumulative = c("count_fraction", "count_fraction_fixed_dp"),
count_missed_doses = c("n", "count_fraction", "count_fraction_fixed_dp"),
Expand Down Expand Up @@ -449,6 +450,7 @@ tern_default_formats <- c(
mean_sei = "(xx.xx, xx.xx)",
mean_sdi = "(xx.xx, xx.xx)",
mean_pval = "x.xxxx | (<0.0001)",
mean_long = "xx.xx (xx.xx - xx.xx)",
median = "xx.x",
mad = "xx.x",
median_ci = "(xx.xx, xx.xx)",
Expand All @@ -464,6 +466,7 @@ tern_default_formats <- c(
cv = "xx.x",
geom_mean = "xx.x",
geom_mean_ci = "(xx.xx, xx.xx)",
geom_mean_long = "xx.xx (xx.xx - xx.xx)",
geom_cv = "xx.x",
pval = "x.xxxx | (<0.0001)",
pval_counts = "x.xxxx | (<0.0001)",
Expand Down Expand Up @@ -501,6 +504,7 @@ tern_default_labels <- c(
mean_sei = "Mean -/+ 1xSE",
mean_sdi = "Mean -/+ 1xSD",
mean_pval = "Mean p-value (H0: mean = 0)",
mean_long = "Mean (95% CI)",
median = "Median",
mad = "Median Absolute Deviation",
median_ci = "Median 95% CI",
Expand All @@ -516,6 +520,7 @@ tern_default_labels <- c(
cv = "CV (%)",
geom_mean = "Geometric Mean",
geom_mean_ci = "Geometric Mean 95% CI",
geom_mean_long = "Geometric Mean (95% CI)",
geom_cv = "CV % Geometric Mean",
pval = "p-value (t-test)", # Default for numeric
pval_counts = "p-value (chi-squared test)", # Default for counts
Expand Down
198 changes: 147 additions & 51 deletions tests/testthat/_snaps/analyze_variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
attr(,"label")
[1] "Mean -/+ 1xSD"
$mean_long
mean mean_ci_lwr mean_ci_upr
NA NA NA
attr(,"label")
[1] "Mean (95% CI)"
$mean_pval
p_value
NA
Expand All @@ -71,6 +77,12 @@
attr(,"label")
[1] "Median 95% CI"
$median_long
median median_ci_lwr median_ci_upr
NA NA NA
attr(,"label")
[1] "Median (95% CI)"
$quantiles
quantile_0.25 quantile_0.75
NA NA
Expand Down Expand Up @@ -117,6 +129,12 @@
geom_cv
NA
$geom_mean_long
geom_mean mean_ci_lwr mean_ci_upr
NaN NA NA
attr(,"label")
[1] "Geometric Mean (95% CI)"

# s_summary handles NA

Expand Down Expand Up @@ -169,6 +187,12 @@
attr(,"label")
[1] "Mean -/+ 1xSD"
$mean_long
mean mean_ci_lwr mean_ci_upr
1 NA NA
attr(,"label")
[1] "Mean (95% CI)"
$mean_pval
p_value
NA
Expand All @@ -191,6 +215,12 @@
attr(,"label")
[1] "Median 95% CI"
$median_long
median median_ci_lwr median_ci_upr
1 NA NA
attr(,"label")
[1] "Median (95% CI)"
$quantiles
quantile_0.25 quantile_0.75
1 1
Expand Down Expand Up @@ -237,6 +267,12 @@
geom_cv
NA
$geom_mean_long
geom_mean mean_ci_lwr mean_ci_upr
1 NA NA
attr(,"label")
[1] "Geometric Mean (95% CI)"

---

Expand Down Expand Up @@ -289,6 +325,12 @@
attr(,"label")
[1] "Mean -/+ 1xSD"
$mean_long
mean mean_ci_lwr mean_ci_upr
NA NA NA
attr(,"label")
[1] "Mean (95% CI)"
$mean_pval
p_value
NA
Expand All @@ -311,6 +353,12 @@
attr(,"label")
[1] "Median 95% CI"
$median_long
median median_ci_lwr median_ci_upr
NA NA NA
attr(,"label")
[1] "Median (95% CI)"
$quantiles
quantile_0.25 quantile_0.75
NA NA
Expand Down Expand Up @@ -357,6 +405,12 @@
geom_cv
NA
$geom_mean_long
geom_mean mean_ci_lwr mean_ci_upr
NA NA NA
attr(,"label")
[1] "Geometric Mean (95% CI)"

# s_summary returns right results for n = 2

Expand Down Expand Up @@ -409,6 +463,12 @@
attr(,"label")
[1] "Mean -/+ 1xSD"
$mean_long
mean mean_ci_lwr mean_ci_upr
1.500000 -4.853102 7.853102
attr(,"label")
[1] "Mean (95% CI)"
$mean_pval
p_value
0.2048328
Expand All @@ -431,6 +491,12 @@
attr(,"label")
[1] "Median 95% CI"
$median_long
median median_ci_lwr median_ci_upr
1.5 NA NA
attr(,"label")
[1] "Median (95% CI)"
$quantiles
quantile_0.25 quantile_0.75
1 2
Expand Down Expand Up @@ -477,6 +543,12 @@
geom_cv
52.10922
$geom_mean_long
geom_mean mean_ci_lwr mean_ci_upr
1.41421356 0.01729978 115.60839614
attr(,"label")
[1] "Geometric Mean (95% CI)"

# s_summary returns right results for n = 8

Expand Down Expand Up @@ -529,6 +601,12 @@
attr(,"label")
[1] "Mean -/+ 1xSD"
$mean_long
mean mean_ci_lwr mean_ci_upr
6.000000 3.318768 8.681232
attr(,"label")
[1] "Mean (95% CI)"
$mean_pval
p_value
0.001133783
Expand All @@ -551,6 +629,12 @@
attr(,"label")
[1] "Median 95% CI"
$median_long
median median_ci_lwr median_ci_upr
6.5 1.0 10.0
attr(,"label")
[1] "Median (95% CI)"
$quantiles
quantile_0.25 quantile_0.75
3.5 8.5
Expand Down Expand Up @@ -597,6 +681,12 @@
geom_cv
96.61307
$geom_mean_long
geom_mean mean_ci_lwr mean_ci_upr
4.842534 2.456211 9.547283
attr(,"label")
[1] "Geometric Mean (95% CI)"

# s_summary works with factors

Expand Down Expand Up @@ -1033,31 +1123,34 @@
Output
RowsVerticalSection (in_rows) object print method:
----------------------------
row_name formatted_cell indent_mod row_label
1 n 10 0 n
2 Sum 1.3 0 Sum
3 Mean 0.1 0 Mean
4 SD 0.8 0 SD
5 SE 0.2 0 SE
6 Mean (SD) 0.1 (0.8) 0 Mean (SD)
7 Mean (SE) 0.1 (0.2) 0 Mean (SE)
8 Mean 95% CI (-0.43, 0.69) 0 Mean 95% CI
9 Mean -/+ 1xSE (-0.11, 0.38) 0 Mean -/+ 1xSE
10 Mean -/+ 1xSD (-0.65, 0.91) 0 Mean -/+ 1xSD
11 Mean p-value (H0: mean = 0) 0.6052 0 Mean p-value (H0: mean = 0)
12 Median 0.3 0 Median
13 Median Absolute Deviation -0.0 0 Median Absolute Deviation
14 Median 95% CI (-0.82, 0.74) 0 Median 95% CI
15 25% and 75%-ile -0.6 - 0.6 0 25% and 75%-ile
16 IQR 1.2 0 IQR
17 Min - Max -0.8 - 1.6 0 Min - Max
18 Minimum -0.8 0 Minimum
19 Maximum 1.6 0 Maximum
20 Median (Min - Max) 0.3 (-0.8 - 1.6) 0 Median (Min - Max)
21 CV (%) 590.4 0 CV (%)
22 Geometric Mean NA 0 Geometric Mean
23 Geometric Mean 95% CI NA 0 Geometric Mean 95% CI
24 CV % Geometric Mean NA 0 CV % Geometric Mean
row_name formatted_cell indent_mod row_label
1 n 10 0 n
2 Sum 1.3 0 Sum
3 Mean 0.1 0 Mean
4 SD 0.8 0 SD
5 SE 0.2 0 SE
6 Mean (SD) 0.1 (0.8) 0 Mean (SD)
7 Mean (SE) 0.1 (0.2) 0 Mean (SE)
8 Mean 95% CI (-0.43, 0.69) 0 Mean 95% CI
9 Mean -/+ 1xSE (-0.11, 0.38) 0 Mean -/+ 1xSE
10 Mean -/+ 1xSD (-0.65, 0.91) 0 Mean -/+ 1xSD
11 Mean p-value (H0: mean = 0) 0.6052 0 Mean p-value (H0: mean = 0)
12 Median 0.3 0 Median
13 Median Absolute Deviation -0.0 0 Median Absolute Deviation
14 Median 95% CI (-0.82, 0.74) 0 Median 95% CI
15 25% and 75%-ile -0.6 - 0.6 0 25% and 75%-ile
16 IQR 1.2 0 IQR
17 Min - Max -0.8 - 1.6 0 Min - Max
18 Minimum -0.8 0 Minimum
19 Maximum 1.6 0 Maximum
20 Median (Min - Max) 0.3 (-0.8 - 1.6) 0 Median (Min - Max)
21 CV (%) 590.4 0 CV (%)
22 Geometric Mean NA 0 Geometric Mean
23 Geometric Mean 95% CI NA 0 Geometric Mean 95% CI
24 CV % Geometric Mean NA 0 CV % Geometric Mean
25 Median (95% CI) 0.26 (-0.82 - 0.74) 0 Median (95% CI)
26 Mean (95% CI) 0.13 (-0.43 - 0.69) 0 Mean (95% CI)
27 Geometric Mean (95% CI) NA 0 Geometric Mean (95% CI)

---

Expand Down Expand Up @@ -1165,32 +1258,35 @@
Output
RowsVerticalSection (in_rows) object print method:
----------------------------
row_name formatted_cell indent_mod row_label
1 n 10 0 n
2 Sum 51.3 0 Sum
3 Mean 5.1 0 Mean
4 SD 0.8 0 SD
5 SE 0.2 0 SE
6 Mean (SD) 5.1 (0.8) 0 Mean (SD)
7 Mean (SE) 5.1 (0.2) 0 Mean (SE)
8 Mean 95% CI (4.57, 5.69) 0 Mean 95% CI
9 Mean -/+ 1xSE (4.89, 5.38) 0 Mean -/+ 1xSE
10 Mean -/+ 1xSD (4.35, 5.91) 0 Mean -/+ 1xSD
11 Mean p-value (H0: mean = 0) <0.0001 0 Mean p-value (H0: mean = 0)
12 Median 5.3 0 Median
13 Median Absolute Deviation -0.0 0 Median Absolute Deviation
14 Median 95% CI (4.18, 5.74) 0 Median 95% CI
15 25% and 75%-ile 4.4 - 5.6 0 25% and 75%-ile
16 IQR 1.2 0 IQR
17 Min - Max 4.2 - 6.6 0 Min - Max
18 Minimum 4.2 0 Minimum
19 Maximum 6.6 0 Maximum
20 Median (Min - Max) 5.3 (4.2 - 6.6) 0 Median (Min - Max)
21 CV (%) 15.2 0 CV (%)
22 Geometric Mean 5.1 0 Geometric Mean
23 Geometric Mean 95% CI (4.56, 5.66) 0 Geometric Mean 95% CI
24 CV % Geometric Mean 15.2 0 CV % Geometric Mean
25 p-value (t-test) <0.0001 0 p-value (t-test)
row_name formatted_cell indent_mod row_label
1 n 10 0 n
2 Sum 51.3 0 Sum
3 Mean 5.1 0 Mean
4 SD 0.8 0 SD
5 SE 0.2 0 SE
6 Mean (SD) 5.1 (0.8) 0 Mean (SD)
7 Mean (SE) 5.1 (0.2) 0 Mean (SE)
8 Mean 95% CI (4.57, 5.69) 0 Mean 95% CI
9 Mean -/+ 1xSE (4.89, 5.38) 0 Mean -/+ 1xSE
10 Mean -/+ 1xSD (4.35, 5.91) 0 Mean -/+ 1xSD
11 Mean p-value (H0: mean = 0) <0.0001 0 Mean p-value (H0: mean = 0)
12 Median 5.3 0 Median
13 Median Absolute Deviation -0.0 0 Median Absolute Deviation
14 Median 95% CI (4.18, 5.74) 0 Median 95% CI
15 25% and 75%-ile 4.4 - 5.6 0 25% and 75%-ile
16 IQR 1.2 0 IQR
17 Min - Max 4.2 - 6.6 0 Min - Max
18 Minimum 4.2 0 Minimum
19 Maximum 6.6 0 Maximum
20 Median (Min - Max) 5.3 (4.2 - 6.6) 0 Median (Min - Max)
21 CV (%) 15.2 0 CV (%)
22 Geometric Mean 5.1 0 Geometric Mean
23 Geometric Mean 95% CI (4.56, 5.66) 0 Geometric Mean 95% CI
24 CV % Geometric Mean 15.2 0 CV % Geometric Mean
25 Median (95% CI) 5.26 (4.18 - 5.74) 0 Median (95% CI)
26 Mean (95% CI) 5.13 (4.57 - 5.69) 0 Mean (95% CI)
27 Geometric Mean (95% CI) 5.08 (4.56 - 5.66) 0 Geometric Mean (95% CI)
28 p-value (t-test) <0.0001 0 p-value (t-test)

---

Expand Down
Loading

0 comments on commit 4976bb5

Please sign in to comment.