Learn R Programming

junco (version 0.1.4)

tabulate_lsmeans: Tabulation of Least Square Means Results

Description

[Stable]

These functions can be used to produce tables from LS means, e.g. from fit_mmrm_j() or fit_ancova().

Usage

# S3 method for tern_model
tidy(x, ...)

s_lsmeans( df, .in_ref_col, alternative = c("two.sided", "less", "greater"), show_relative = c("reduction", "increase") )

a_lsmeans( df, ref_path, .spl_context, ..., .stats = NULL, .formats = NULL, .labels = NULL, .indent_mods = NULL )

Value

  • For s_lsmeans, a list containing the same statistics returned by tern.mmrm::s_mmrm_lsmeans, with the additional diff_mean_est_ci three-dimensional statistic.

  • For a_lsmeans, a VertalRowsSection as returned by rtables::in_rows.

Arguments

x

(numeric)
vector of numbers we want to analyze.

...

additional arguments for the lower level functions.

df

(data.frame)
data set containing all analysis variables.

.in_ref_col

(logical)
TRUE when working with the reference level, FALSE otherwise.

alternative

(string)
whether two.sided, or one-sided less or greater p-value should be displayed.

show_relative

(string)
should the 'reduction' (control - treatment, default) or the 'increase' (treatment - control) be shown for the relative change from baseline?

ref_path

(character)
global reference group specification, see get_ref_info().

.spl_context

(data.frame)
gives information about ancestor split states that is passed by rtables.

.stats

(character)
statistics to select for the table.

.formats

(named character or list)
formats for the statistics. See Details in analyze_vars for more information on the 'auto' setting.

.labels

(named character)
labels for the statistics (without indent).

.indent_mods

(named integer)
indent modifiers for the labels. Defaults to 0, which corresponds to the unmodified default behavior. Can be negative.

Functions

  • tidy(tern_model): Helper method (for broom::tidy()) to prepare a data.frame from an tern_model object containing the least-squares means and contrasts.

  • s_lsmeans(): Statistics function which is extracting estimates from a tidied least-squares means data frame.

  • a_lsmeans(): Formatted Analysis function to be used as afun

Examples

Run this code
result <- fit_mmrm_j(
  vars = list(
    response = "FEV1",
    covariates = c("RACE", "SEX"),
    id = "USUBJID",
    arm = "ARMCD",
    visit = "AVISIT"
  ),
  data = mmrm::fev_data,
  cor_struct = "unstructured",
  weights_emmeans = "equal"
)

df <- broom::tidy(result)

s_lsmeans(df[8, ], .in_ref_col = FALSE)
s_lsmeans(df[8, ], .in_ref_col = FALSE, alternative = "greater", show_relative = "increase")

dat_adsl <- mmrm::fev_data |>
  dplyr::select(USUBJID, ARMCD) |>
  unique()

basic_table() |>
  split_cols_by("ARMCD") |>
  add_colcounts() |>
  split_rows_by("AVISIT") |>
  analyze(
    "AVISIT",
    afun = a_lsmeans,
    show_labels = "hidden",
    na_str = tern::default_na_str(),
    extra_args = list(
      .stats = c(
        "n",
        "adj_mean_se",
        "adj_mean_ci",
        "diff_mean_se",
        "diff_mean_ci"
      ),
      .labels = c(
        adj_mean_se = "Adj. LS Mean (Std. Error)",
        adj_mean_ci = "95% CI",
        diff_mean_ci = "95% CI"
      ),
      .formats = c(adj_mean_se = jjcsformat_xx("xx.x (xx.xx)")),
      alternative = "greater",
      ref_path = c("ARMCD", result$ref_level)
    )
  ) |>
  build_table(
    df = broom::tidy(result),
    alt_counts_df = dat_adsl
  )

Run the code above in your browser using DataLab