Line plot with the optional table.
g_lineplot(
df,
alt_counts_df = NULL,
variables = control_lineplot_vars(),
mid = "mean",
interval = "mean_ci",
whiskers = c("mean_ci_lwr", "mean_ci_upr"),
table = NULL,
sfun = s_summary,
...,
mid_type = "pl",
mid_point_size = 2,
position = ggplot2::position_dodge(width = 0.4),
legend_title = NULL,
legend_position = "bottom",
ggtheme = nestcolor::theme_nest(),
x_lab = obj_label(df[[variables[["x"]]]]),
y_lab = NULL,
y_lab_add_paramcd = TRUE,
y_lab_add_unit = TRUE,
title = "Plot of Mean and 95% Confidence Limits by Visit",
subtitle = "",
subtitle_add_paramcd = TRUE,
subtitle_add_unit = TRUE,
caption = NULL,
table_format = get_formats_from_stats(table),
table_labels = get_labels_from_stats(table),
table_font_size = 3,
newpage = lifecycle::deprecated(),
col = NULL
)
A ggplot
line plot (and statistics table if applicable).
(data.frame
)
data set containing all analysis variables.
(data.frame
or NULL
)
data set that will be used (only)
to counts objects in groups for stratification.
(named character
) vector of variable names in df
which should include:
x
(string
)
name of x-axis variable.
y
(string
)
name of y-axis variable.
group_var
(string
or NULL
)
name of grouping variable (or strata), i.e. treatment arm.
Can be NA
to indicate lack of groups.
subject_var
(string
or NULL
)
name of subject variable. Only applies if group_var
is
not NULL.
paramcd
(string
or NA
)
name of the variable for parameter's code. Used for y-axis label and plot's
subtitle. Can be NA
if paramcd
is not to be added to the y-axis label or subtitle.
y_unit
(string
or NA
)
name of variable with units of y
. Used for y-axis label and plot's subtitle.
Can be NA
if y unit is not to be added to the y-axis label or subtitle.
facet_var
(string
or NA
)
name of the secondary grouping variable used for plot faceting, i.e. treatment
arm. Can be NA
to indicate lack of groups.
(character
or NULL
)
names of the statistics that will be plotted as midpoints.
All the statistics indicated in mid
variable must be present in the object returned by sfun
,
and be of a double
or numeric
type vector of length one.
(character
or NULL
)
names of the statistics that will be plotted as intervals.
All the statistics indicated in interval
variable must be present in the object returned by sfun
,
and be of a double
or numeric
type vector of length two. Set interval = NULL
if intervals should not be
added to the plot.
(character
)
names of the interval whiskers that will be plotted. Names must match names
of the list element interval
that will be returned by sfun
(e.g. mean_ci_lwr
element of
sfun(x)[["mean_ci"]]
). It is possible to specify one whisker only, or to suppress all whiskers by setting
interval = NULL
.
(character
or NULL
)
names of the statistics that will be displayed in the table below the plot.
All the statistics indicated in table
variable must be present in the object returned by sfun
.
(function
)
the function to compute the values of required statistics. It must return a named list
with atomic vectors. The names of the list
elements refer to the names of the statistics and are used by mid
,
interval
, table
. It must be able to accept as input a vector with data for which statistics are computed.
optional arguments to sfun
.
(string
)
controls the type of the mid
plot, it can be point ("p"
), line ("l"
),
or point and line ("pl"
).
(numeric(1)
)
font size of the mid
plot points.
(character
or call
)
geom element position adjustment, either as a string, or the result of
a call to a position adjustment function.
(string
)
legend title.
(string
)
the position of the plot legend ("none"
, "left"
, "right"
, "bottom"
,
"top"
, or a two-element numeric vector).
(theme
)
a graphical theme as provided by ggplot2
to control styling of the plot.
(string
or NULL
)
x-axis label. If NULL
then no label will be added.
(string
or NULL
)
y-axis label. If NULL
then no label will be added.
(flag
)
whether paramcd
, i.e. unique(df[[variables["paramcd"]]])
should be added
to the y-axis label (y_lab
).
(flag
)
whether y-axis unit, i.e. unique(df[[variables["y_unit"]]])
should be added
to the y-axis label (y_lab
).
(string
)
plot title.
(string
)
plot subtitle.
(flag
)
whether paramcd
, i.e. unique(df[[variables["paramcd"]]])
should be
added to the plot's subtitle (subtitle
).
(flag
)
whether the y-axis unit, i.e. unique(df[[variables["y_unit"]]])
should be
added to the plot's subtitle (subtitle
).
(string
)
optional caption below the plot.
(named character
or NULL
)
format patterns for descriptive statistics used in the
(optional) table appended to the plot. It is passed directly to the h_format_row
function through the format
parameter. Names of table_format
must match the names of statistics returned by sfun
function.
(named character
or NULL
)
labels for descriptive statistics used in the (optional) table
appended to the plot. Names of table_labels
must match the names of statistics returned by sfun
function.
(numeric(1)
)
font size of the text in the table.
(character
)
color(s).
library(nestcolor)
adsl <- tern_ex_adsl
adlb <- tern_ex_adlb %>% dplyr::filter(ANL01FL == "Y", PARAMCD == "ALT", AVISIT != "SCREENING")
adlb$AVISIT <- droplevels(adlb$AVISIT)
adlb <- dplyr::mutate(adlb, AVISIT = forcats::fct_reorder(AVISIT, AVISITN, min))
# Mean with CI
g_lineplot(adlb, adsl, subtitle = "Laboratory Test:")
# Mean with CI, no stratification with group_var
g_lineplot(adlb, variables = control_lineplot_vars(group_var = NA))
# Mean, upper whisker of CI, no group_var(strata) counts N
g_lineplot(
adlb,
whiskers = "mean_ci_upr",
title = "Plot of Mean and Upper 95% Confidence Limit by Visit"
)
# Median with CI
g_lineplot(
adlb,
adsl,
mid = "median",
interval = "median_ci",
whiskers = c("median_ci_lwr", "median_ci_upr"),
title = "Plot of Median and 95% Confidence Limits by Visit"
)
# Mean, +/- SD
g_lineplot(adlb, adsl,
interval = "mean_sdi",
whiskers = c("mean_sdi_lwr", "mean_sdi_upr"),
title = "Plot of Median +/- SD by Visit"
)
# Mean with CI plot with stats table
g_lineplot(adlb, adsl, table = c("n", "mean", "mean_ci"))
# Mean with CI, table and customized confidence level
g_lineplot(
adlb,
adsl,
table = c("n", "mean", "mean_ci"),
control = control_analyze_vars(conf_level = 0.80),
title = "Plot of Mean and 80% Confidence Limits by Visit"
)
# Mean with CI, table, filtered data
adlb_f <- dplyr::filter(adlb, ARMCD != "ARM A" | AVISIT == "BASELINE")
g_lineplot(adlb_f, table = c("n", "mean"))
Run the code above in your browser using DataLab