Skip to contents

S3 method for creating plots directly from objects using ggplot2, similar to the base R plot() function.

[Deprecated] Methods visr.survfit() and visr.tidycuminc() have been deprecated in favor of ggsurvfit::ggsurvfit() and ggsurvfit::ggcuminc(), respectively.

[Questioning] visr.attrition() function to draw a Consort flow diagram chart is currently being questioned.

Usage

visr(x, ...)

# S3 method for default
visr(x, ...)

# S3 method for survfit
visr(
  x = NULL,
  x_label = NULL,
  y_label = NULL,
  x_units = NULL,
  x_ticks = NULL,
  y_ticks = NULL,
  fun = "surv",
  legend_position = "right",
  ...
)

# S3 method for attrition
visr(
  x,
  description_column_name = "Criteria",
  value_column_name = "Remaining N",
  complement_column_name = "",
  box_width = 50,
  font_size = 12,
  fill = "white",
  border = "black",
  ...
)

# S3 method for tidycuminc
visr(
  x = NULL,
  x_label = "Time",
  y_label = "Cumulative Incidence",
  x_units = NULL,
  x_ticks = pretty(x$tidy$time, 10),
  y_ticks = pretty(c(0, 1), 5),
  legend_position = "right",
  ...
)

Arguments

x

Object of class attritiontable

...

other arguments passed on to the method

x_label

character Label for the x-axis. When not specified, the function will look for "PARAM" or "PARAMCD" information in the original data set (CDISC standards). If no "PARAM"/"PARAMCD" information is available, the default x-axis label is "Time".

y_label

character Label for the y-axis. When not specified, the default will do a proposal, depending on the fun argument.

x_units

Unit to be added to the x_label (x_label (x_unit)). Default is NULL.

x_ticks

Ticks for the x-axis. When not specified, the default will do a proposal.

y_ticks

Ticks for the y-axis. When not specified, the default will do a proposal based on the fun argument.

fun

Function that represents the scale of the estimate. The current options are:

survis the survival probability. This is the default
logis log of the survival probability
eventis the failure probability
cloglogis log(-log(survival probability))
pctis survival as a percentage
logpctis log survival as a percentage
cumhazis the cumulative hazard
legend_position

Specifies the legend position in the plot. Character values allowed are "top" "left" "bottom" "right". Numeric coordinates are also allowed. Default is "right".

description_column_name

character Name of the column containing the inclusion descriptions

value_column_name

character Name of the column containing the remaining sample counts

complement_column_name

character Optional: Name of the column containing the exclusion descriptions

box_width

character The box width for each box in the flow chart

font_size

character The fontsize in pt

fill

The color (string or hexcode) to use to fill the boxes in the flowchart

border

The color (string or hexcode) to use for the borders of the boxes in the flowchart

Value

Object of class ggplot and ggsurvplot for survfit objects.

See also

Examples


# fit KM
km_fit <- survival::survfit(survival::Surv(AVAL, 1 - CNSR) ~ TRTP, data = adtte)

# plot curves using survival plot function
plot(km_fit)


# plot same curves using visR::visr plotting function
visR::visr(km_fit)


# estimate KM using visR wrapper
survfit_object <- visR::estimate_KM(data = adtte, strata = "TRTP")

# Plot survival probability
visR::visr(survfit_object, fun = "surv")


# Plot survival percentage
visR::visr(survfit_object, fun = "pct")


# Plot cumulative hazard
visR::visr(survfit_object, fun = "cloglog")
#> Warning: NAs introduced by y-axis transformation.



## Create attrition
attrition <- visR::get_attrition(adtte,
  criteria_descriptions = c(
    "1. Not in Placebo Group",
    "2. Be 75 years of age or older.",
    "3. White",
    "4. Female"
  ),
  criteria_conditions = c(
    "TRTP != 'Placebo'",
    "AGE >= 75",
    "RACE=='WHITE'",
    "SEX=='F'"
  ),
  subject_column_name = "USUBJID"
)

## Draw a CONSORT attrition chart without specifying extra text for the complement
attrition %>%
  visr("Criteria", "Remaining N")


## Add detailed complement descriptions to the "exclusion" part of the CONSORT diagram
# Step 1. Add new column to attrition dataframe
attrition$Complement <- c(
  "NA",
  "Placebo Group",
  "Younger than 75 years",
  "Non-White",
  "Male"
)

# Step 2. Define the name of the column in the call to the plotting function
attrition %>%
  visr("Criteria", "Remaining N", "Complement")


## Styling the CONSORT flowchart
# Change the fill and outline of the boxes in the flowchart
attrition %>%
  visr("Criteria", "Remaining N", "Complement", fill = "lightblue", border = "grey")


## Adjust the font size in the boxes
attrition %>%
  visr("Criteria", "Remaining N", font_size = 10)