Skip to content

Commit 801b461

Browse files
Update docs (#130)
Updates some documentation in preparation for release. These changes regard examples in the roxygen docs. There are still a few more documentation changes to be made. However they are beyond what I can do quickly so I opened #128. Also note there is still some chunks usage. I've opened #129 to address this. Fixes #125 --------- Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com>
1 parent c07e750 commit 801b461

File tree

10 files changed

+242
-554
lines changed

10 files changed

+242
-554
lines changed

R/data_extract_module.R

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ cond_data_extract_single_ui <- function(ns, single_data_extract_spec) {
7272
#'
7373
#' The output can be analyzed using `data_extract_srv(...)`.
7474
#'
75-
#' @section UI examples:
76-
#' \describe{
77-
#' \preformatted{
75+
#' @examples
76+
#' library(shiny)
77+
#'
7878
#' adtte_filters <- filter_spec(
7979
#' vars = c("PARAMCD", "CNSR"),
8080
#' sep = "-",
@@ -89,29 +89,23 @@ cond_data_extract_single_ui <- function(ns, single_data_extract_spec) {
8989
#' filter = adtte_filters,
9090
#' select = select_spec(
9191
#' choices = c("AVAL", "BMRKR1", "AGE"),
92-
#' selected = c("AVAL", "BMRKR1"),
93-
#' multiple = TRUE,
94-
#' fixed = FALSE,
95-
#' label = "Column"
96-
#' )
92+
#' selected = c("AVAL", "BMRKR1"),
93+
#' multiple = TRUE,
94+
#' fixed = FALSE,
95+
#' label = "Column"
96+
#' )
9797
#' )
9898
#' # Call to use inside your teal module UI function
9999
#' teal.widgets::standard_layout(
100+
#' output = tableOutput("table"),
100101
#' encoding = div(
101-
#' data_extract_ui(id = "regressor", label = "Regressor Variable", data_extract_spec = response_spec)
102+
#' data_extract_ui(
103+
#' id = "regressor",
104+
#' label = "Regressor Variable",
105+
#' data_extract_spec = response_spec
106+
#' )
102107
#' )
103108
#' )
104-
#' }
105-
#' \if{html}{
106-
#' \figure{data_extract_spec_13.png}{options: alt="Dataset with multiple filters and column selection"}
107-
#' }
108-
#' \if{html}{
109-
#' \figure{data_extract_spec_12.png}{options: alt="Dataset with multiple filters and column selection"}
110-
#' }
111-
#' \if{html}{
112-
#' \figure{data_extract_spec_11.png}{options: alt="Dataset with multiple filters and column selection"}
113-
#' }
114-
#' }
115109
#'
116110
#' @export
117111
data_extract_ui <- function(id, label, data_extract_spec, is_single_dataset = FALSE) {

R/data_extract_spec.R

Lines changed: 30 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -30,87 +30,53 @@
3030
#' whether reshape long to wide. Note that it will be used only in case of long dataset with multiple
3131
#' keys selected in filter part.
3232
#'
33-
#' @section Examples:
34-
#' \describe{
35-
#' \enumerate{
36-
#' \item{`TealDataset` with multiple filters and column selection}{
37-
#' \preformatted{
33+
#' @examples
3834
#' adtte_filters <- filter_spec(
39-
#' vars = c("PARAMCD", "CNSR"),
40-
#' sep = "-",
41-
#' choices = c("OS-1" = "OS-1", "OS-0" = "OS-0", "PFS-1" = "PFS-1"),
42-
#' selected = "OS-1",
43-
#' multiple = FALSE,
44-
#' label = "Choose endpoint and Censor"
35+
#' vars = c("PARAMCD", "CNSR"),
36+
#' sep = "-",
37+
#' choices = c("OS-1" = "OS-1", "OS-0" = "OS-0", "PFS-1" = "PFS-1"),
38+
#' selected = "OS-1",
39+
#' multiple = FALSE,
40+
#' label = "Choose endpoint and Censor"
4541
#' )
4642
#'
4743
#' data_extract_spec(
4844
#' dataname = "ADTTE",
4945
#' filter = adtte_filters,
5046
#' select = select_spec(
5147
#' choices = c("AVAL", "BMRKR1", "AGE"),
52-
#' selected = c("AVAL", "BMRKR1"),
53-
#' multiple = TRUE,
54-
#' fixed = FALSE,
55-
#' label = "Column"
56-
#' )
48+
#' selected = c("AVAL", "BMRKR1"),
49+
#' multiple = TRUE,
50+
#' fixed = FALSE,
51+
#' label = "Column"
52+
#' )
5753
#' )
58-
#' }
59-
#' \if{html}{
60-
#' \figure{data_extract_spec_1.png}{options: alt="TealDataset with multiple filters and column selection"}
61-
#' }
62-
#' \if{html}{
63-
#' \figure{data_extract_spec_12.png}{options: alt="TealDataset with multiple filters and column selection"}
64-
#' }
65-
#' \if{html}{
66-
#' \figure{data_extract_spec_11.png}{options: alt="TealDataset with multiple filters and column selection"}
67-
#' }
68-
#' }
69-
#' \item{Data extract without filtering}{
70-
#' \preformatted{
7154
#'
7255
#' data_extract_spec(
7356
#' dataname = "ADSL",
7457
#' filter = NULL,
7558
#' select = select_spec(
7659
#' choices = c("AGE", "SEX", "USUBJID"),
77-
#' selected = c("SEX"),
78-
#' multiple = FALSE,
79-
#' fixed = FALSE
80-
#' )
60+
#' selected = c("SEX"),
61+
#' multiple = FALSE,
62+
#' fixed = FALSE
63+
#' )
8164
#' )
82-
#' }
83-
#' }
84-
#' \if{html}{
85-
#' \figure{data_extract_spec_2.png}{options: alt="Data extract without filtering"}
86-
#' }
87-
#'
88-
#' \item{Data extract with a single filter}{
89-
#' \preformatted{
90-
#' data_extract_spec(
91-
#' dataname = "ADSL",
92-
#' filter = filter_spec(
93-
#' vars = variable_choices("ADSL", subset = c("AGE"))
94-
#' )
95-
#' )
96-
#' }
97-
#' }
98-
#'
99-
#' \item{Data extract with a filter that also selects columns due to no select_spec}{
100-
#' \preformatted{
101-
#'
102-
#' dynamic_filter <- filter_spec(
103-
#' vars = choices_selected(variable_choices(ADSL), "COUNTRY"),
104-
#' multiple = TRUE
65+
#' data_extract_spec(
66+
#' dataname = "ADSL",
67+
#' filter = filter_spec(
68+
#' vars = variable_choices("ADSL", subset = c("AGE"))
10569
#' )
106-
#' data_extract_spec(
107-
#' dataname = "ADSL",
108-
#' filter = dynamic_filter
109-
#' )
110-
#' }
111-
#' }
112-
#' }
113-
#' }
70+
#' )
71+
#'
72+
#' dynamic_filter <- filter_spec(
73+
#' vars = choices_selected(variable_choices("ADSL"), "COUNTRY"),
74+
#' multiple = TRUE
75+
#' )
76+
#' data_extract_spec(
77+
#' dataname = "ADSL",
78+
#' filter = dynamic_filter
79+
#' )
11480
#'
11581
#' @references [select_spec] [filter_spec]
11682
data_extract_spec <- function(dataname, select = NULL, filter = NULL, reshape = FALSE) {

R/filter_spec.R

Lines changed: 53 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -46,142 +46,72 @@
4646
#'
4747
#' @return \code{filter_spec}-S3-class object or \code{delayed_filter_spec}-S3-class object.
4848
#'
49-
#' @examples
50-
#' filter_spec(
51-
#' vars = c("PARAMCD", "AVISIT"),
52-
#' sep = " - ",
53-
#' choices = c("CRP - BASELINE", "CRP - SCREENING", "ALT - BASELINE"),
54-
#' selected = c("CRP - BASELINE"),
55-
#' multiple = TRUE
56-
#' )
57-
#'
58-
#' filter_spec(
59-
#' vars = c("PARAMCD"),
60-
#' sep = " - ",
61-
#' choices = c("CRP", "ALT"),
62-
#' selected = c("CRP"),
63-
#' multiple = TRUE
64-
#' )
6549
#' @details
6650
#'
6751
#' The \code{filter_spec} is used inside \code{teal} apps to allow filtering datasets
6852
#' for their key variables. Imagine having an adverse events table. It has
6953
#' the columns \code{PARAMCD} and \code{CNSR}. \code{PARAMCD} contains the levels
7054
#' \code{"OS"}, \code{"PFS"}, \code{"EFS"}. \code{CNSR} contains the levels \code{"0"} and \code{"1"}.
71-
#' The following examples should show how a \code{filter_spec} setup will influence
72-
#' the drop-down menu the app user will see:
73-
#'
74-
#' \enumerate{
75-
#' \item{Filtering two variables }{
76-
#' \preformatted{
77-
#' filter_spec(
78-
#' vars = c("PARAMCD", "CNSR"),
79-
#' sep = "-",
80-
#' choices = c("OS-1" = "OS-1", "OS-0" = "OS-0", "PFS-1" = "PFS-1"),
81-
#' selected = "OS-1",
82-
#' multiple = FALSE,
83-
#' label = "Choose endpoint and Censor"
84-
#' )
85-
#' }
55+
#' The first example should show how a \code{filter_spec} setup will influence
56+
#' the drop-down menu the app user will see.
8657
#'
87-
#' \if{html}{
88-
#' \figure{filter_spec_1.png}{options: alt="Filtering two variables"}
89-
#' }
90-
#' \if{html}{
91-
#' \figure{filter_spec_11.png}{options: alt="Filtering two variables"}
92-
#' }
93-
#' }
9458
#'
95-
#' \item{Filtering a single variable }{
96-
#' \preformatted{
97-
#' filter_spec(
98-
#' vars = c("PARAMCD"),
99-
#' sep = "-",
100-
#' choices = c("OS", "PFS", "EFS"),
101-
#' selected = "OS",
102-
#' multiple = FALSE,
103-
#' label = "Choose endpoint"
104-
#' )
105-
#' }
106-
#'
107-
#' \if{html}{
108-
#' \figure{filter_spec_2.png}{options: alt="Filtering two variables"}
109-
#' }
110-
#' \if{html}{
111-
#' \figure{filter_spec_21.png}{options: alt="Filtering two variables"}
112-
#' }
113-
#' }
59+
#' @examples
60+
#' # for Adverse Events table
61+
#' filter_spec(
62+
#' vars = c("PARAMCD", "CNSR"),
63+
#' sep = "-",
64+
#' choices = c("OS-1" = "OS-1", "OS-0" = "OS-0", "PFS-1" = "PFS-1"),
65+
#' selected = "OS-1",
66+
#' multiple = FALSE,
67+
#' label = "Choose endpoint and Censor"
68+
#' )
11469
#'
115-
#' \item{Filtering a single variable by multiple levels of the variable}{
116-
#' \preformatted{
117-
#' filter_spec(
118-
#' vars = c("PARAMCD"),
119-
#' sep = "-",
120-
#' choices = c("OS", "PFS", "EFS"),
121-
#' selected = c("OS", "PFS"),
122-
#' multiple = TRUE,
123-
#' label = "Choose endpoint"
124-
#' )
125-
#' }
70+
#' # filtering a single variable
71+
#' filter_spec(
72+
#' vars = c("PARAMCD"),
73+
#' sep = "-",
74+
#' choices = c("OS", "PFS", "EFS"),
75+
#' selected = "OS",
76+
#' multiple = FALSE,
77+
#' label = "Choose endpoint"
78+
#' )
12679
#'
127-
#' \if{html}{
128-
#' \figure{filter_spec_3.png}{options: alt="Filtering two variables"}
129-
#' }
130-
#' \if{html}{
131-
#' \figure{filter_spec_31.png}{options: alt="Filtering two variables"}
132-
#' }
133-
#' }
134-
#' \item{Delayed version}{
135-
#' \preformatted{
136-
#' adsl_filter <- filter_spec(
137-
#' vars = variable_choices("ADSL", "SEX"),
138-
#' sep = "-",
139-
#' choices = value_choices("ADSL", "SEX", "SEX"),
140-
#' selected = "F",
141-
#' multiple = FALSE,
142-
#' label = "Choose endpoint and Censor"
143-
#' )
144-
#' }
145-
#' }
146-
#' \item{Using \code{choices_selected}
147-
#' \preformatted{
148-
#' adsl_filter <- filter_spec(
149-
#' vars = choices_selected(variable_choices("ADSL", subset = c("SEX", "AGE")), "SEX", fixed = FALSE),
150-
#' multiple = TRUE
151-
#' )
80+
#' # filtering a single variable by multiple levels of the variable
81+
#' filter_spec(
82+
#' vars = c("PARAMCD"),
83+
#' sep = "-",
84+
#' choices = c("OS", "PFS", "EFS"),
85+
#' selected = c("OS", "PFS"),
86+
#' multiple = TRUE,
87+
#' label = "Choose endpoint"
88+
#' )
15289
#'
153-
#' adsl_filter2 <- filter_spec(
154-
#' vars = choices_selected(variable_choices("ADSL"), "SEX", fixed = TRUE),
155-
#' multiple = TRUE
156-
#' )
157-
#' }
158-
#' }
159-
#' \item{Choose all choices
160-
#' \preformatted{
161-
#' adsl_filter <- filter_spec(
162-
#' vars = choices_selected(variable_choices("ADSL"), "SEX", fixed = FALSE),
163-
#' choices = value_choices("ADSL", "SEX"),
164-
#' selected = all_choices()
165-
#' )
166-
#' }
167-
#' }
168-
#' }
90+
#' # delayed version
91+
#' filter_spec(
92+
#' vars = variable_choices("ADSL", "SEX"),
93+
#' sep = "-",
94+
#' choices = value_choices("ADSL", "SEX", "SEX"),
95+
#' selected = "F",
96+
#' multiple = FALSE,
97+
#' label = "Choose endpoint and Censor"
98+
#' )
99+
#' # using `choices_selected()`
100+
#' filter_spec(
101+
#' vars = choices_selected(variable_choices("ADSL", subset = c("SEX", "AGE")), "SEX", fixed = FALSE),
102+
#' multiple = TRUE
103+
#' )
169104
#'
170-
#' @examples
171105
#' filter_spec(
172-
#' vars = variable_choices("ADSL", "ARMCD"),
173-
#' choices = value_choices("ADSL",
174-
#' var_choices = "ARMCD", var_label = "ARM",
175-
#' subset = function(data) {
176-
#' levels(data$ARMCD)[1:2]
177-
#' }
178-
#' ),
179-
#' selected = value_choices("ADSL",
180-
#' var_choices = "ARMCD", var_label = "ARM",
181-
#' subset = function(data) {
182-
#' levels(data$ARMCD)[1]
183-
#' }
184-
#' )
106+
#' vars = choices_selected(variable_choices("ADSL"), "SEX", fixed = TRUE),
107+
#' multiple = TRUE
108+
#' )
109+
#'
110+
#' # choose all choices
111+
#' adsl_filter <- filter_spec(
112+
#' vars = choices_selected(variable_choices("ADSL"), "SEX", fixed = FALSE),
113+
#' choices = value_choices("ADSL", "SEX"),
114+
#' selected = all_choices()
185115
#' )
186116
filter_spec <- function(vars,
187117
choices = NULL,

R/get_merge_call.R

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@ parse_merge_key_i <- function(selector_list,
301301

302302
#' Names of filtered-out filters dropped from selection
303303
#'
304-
#' @details Names of filtered-out filters dropped from automatic selection (key vars are automatically included in select).
304+
#' @details Names of filtered-out filters dropped from automatic selection
305+
#' (key vars are automatically included in select).
305306
#' Dropped filter is filter which became not unique for all observations.
306307
#' This means that if variable is filtered to just one level,
307308
#' it's not a key anymore. Other variables used in filter should also be dropped from automatic

0 commit comments

Comments
 (0)