-
Notifications
You must be signed in to change notification settings - Fork 114
/
brdg_summary.Rd
147 lines (130 loc) · 4.14 KB
/
brdg_summary.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/brdg_summary.R
\name{brdg_summary}
\alias{brdg_summary}
\alias{pier_summary_dichotomous}
\alias{pier_summary_categorical}
\alias{pier_summary_continuous2}
\alias{pier_summary_continuous}
\alias{pier_summary_missing_row}
\title{Summary table bridge}
\usage{
brdg_summary(
cards,
variables,
type,
statistic,
by = NULL,
missing = "no",
missing_stat = "{N_miss}",
missing_text = "Unknown"
)
pier_summary_dichotomous(cards, variables, statistic)
pier_summary_categorical(cards, variables, statistic)
pier_summary_continuous2(cards, variables, statistic)
pier_summary_continuous(cards, variables, statistic)
pier_summary_missing_row(
cards,
variables,
missing = "no",
missing_stat = "{N_miss}",
missing_text = "Unknown"
)
}
\arguments{
\item{cards}{(\code{card})\cr
An ARD object of class \code{"card"} typically created with \verb{cards::ard_*()} functions.}
\item{variables}{(\code{character})\cr
character list of variables}
\item{type}{(named \code{list})\cr
named list of summary types}
\item{statistic}{(named \code{list})\cr
named list of summary statistic names}
\item{by}{(\code{string})\cr
string indicating the stratifying column}
\item{missing, missing_text, missing_stat}{Arguments dictating how and if missing values are presented:
\itemize{
\item \code{missing}: must be one of \code{c("ifany", "no", "always")}
\item \code{missing_text}: string indicating text shown on missing row. Default is \code{"Unknown"}
\item \code{missing_stat}: statistic to show on missing row. Default is \code{"{N_miss}"}.
Possible values are \code{N_miss}, \code{N_obs}, \code{N_nonmiss}, \code{p_miss}, \code{p_nonmiss}.
}}
}
\value{
a gtsummary object
}
\description{
Bridge function for converting \code{tbl_summary()} (and similar) cards to basic gtsummary objects.
All bridge functions begin with prefix \verb{brdg_*()}.
This file also contains helper functions for constructing the bridge,
referred to as the piers (supports for a bridge) and begin with \verb{pier_*()}.
\itemize{
\item \code{brdg_summary()}: The bridge function ingests an ARD data frame and returns
a gtsummary table that includes \code{.$table_body} and a basic \code{.$table_styling}.
The \code{.$table_styling$header} data frame includes the header statistics.
Based on context, this function adds a column to the ARD data frame named
\code{"gts_column"}. This column is used during the reshaping in the \verb{pier_*()}
functions defining column names.
\item \verb{pier_*()}: these functions accept a cards tibble and returns a tibble
that is a piece of the \code{.$table_body}. Typically these will be stacked
to construct the final table body data frame. The ARD object passed here
will have two primary parts: the calculated summary statistics and the
attributes ARD. The attributes ARD is used for labeling. The ARD data frame
passed to this function must include a \code{"gts_column"} column, which is
added in \code{brdg_summary()}.
}
}
\examples{
library(cards)
# first build ARD data frame
cards <-
ard_stack(
mtcars,
ard_continuous(variables = c("mpg", "hp")),
ard_categorical(variables = "cyl"),
ard_dichotomous(variables = "am"),
.missing = TRUE,
.attributes = TRUE
) |>
# this column is used by the `pier_*()` functions
dplyr::mutate(gts_column = ifelse(context == "attributes", NA, "stat_0"))
brdg_summary(
cards = cards,
variables = c("cyl", "am", "mpg", "hp"),
type =
list(
cyl = "categorical",
am = "dichotomous",
mpg = "continuous",
hp = "continuous2"
),
statistic =
list(
cyl = "{n} / {N}",
am = "{n} / {N}",
mpg = "{mean} ({sd})",
hp = c("{median} ({p25}, {p75})", "{mean} ({sd})")
)
) |>
as_tibble()
pier_summary_dichotomous(
cards = cards,
variables = "am",
statistic = list(am = "{n} ({p})")
)
pier_summary_categorical(
cards = cards,
variables = "cyl",
statistic = list(cyl = "{n} ({p})")
)
pier_summary_continuous2(
cards = cards,
variables = "hp",
statistic = list(hp = c("{median}", "{mean}"))
)
pier_summary_continuous(
cards = cards,
variables = "mpg",
statistic = list(mpg = "{median}")
)
}