From 79d8a7ccdc88baea3176e4a9f4ff524a733aaa1e Mon Sep 17 00:00:00 2001 From: shajoezhu Date: Sun, 1 Dec 2024 10:14:47 +0000 Subject: [PATCH] deploy: 6cab16a560c1cb436ef6fa3b9e651a760dc08e81 --- coverage-report/index.html | 3088 ++++++++++++++++++------------------ 1 file changed, 1544 insertions(+), 1544 deletions(-) diff --git a/coverage-report/index.html b/coverage-report/index.html index 8d018a38..96474c7c 100644 --- a/coverage-report/index.html +++ b/coverage-report/index.html @@ -95,7 +95,7 @@ font-size: 11px; }
-

autoslider.core coverage - 25.24%

+

autoslider.core coverage - 66.76%

-
- +
+
@@ -502,42 +502,42 @@

autoslider.core coverage - 25.24%

56 - 22x + 26x
  assert_that(has_name(adae, "AEDECOD"))
57 - 22x + 26x
  assert_that(has_name(adae, "ATOXGR"))
58 - 22x + 26x
  assert_that(has_name(adae, "AEBODSYS"))
59 - 22x + 26x
  assert_that(has_name(adae, "ANL01FL"))
60 - 22x + 26x
  assert_that((diff + prune_by_total) < 2)
61 - 22x + 26x
  assert_that(cutoff <= 100 & cutoff >= 0)
@@ -551,7 +551,7 @@

autoslider.core coverage - 25.24%

63 - 22x + 26x
  if (!is.null(side_by_side)) {
@@ -586,28 +586,28 @@

autoslider.core coverage - 25.24%

68 - 22x + 26x
  slref_arm <- sort(unique(adsl[[arm]]))
69 - 22x + 26x
  anl_arm <- sort(unique(adae[[arm]]))
70 - 22x + 26x
  assert_that(identical(slref_arm, anl_arm),
71 - 22x + 26x
    msg = "The adsl and the analysis datasets should have the same treatment arm levels"
@@ -628,21 +628,21 @@

autoslider.core coverage - 25.24%

74 - 22x + 26x
  if (is.null(side_by_side)) {
75 - 15x + 19x
    adsl1 <- adsl %>%
76 - 15x + 19x
      select("STUDYID", "USUBJID", all_of(arm))
@@ -705,28 +705,28 @@

autoslider.core coverage - 25.24%

85 - 22x + 26x
  anl <- adae %>%
86 - 22x + 26x
    mutate_at(
87 - 22x + 26x
      c("AEDECOD", "AEBODSYS"),
88 - 22x + 26x
      ~ explicit_na(sas_na(.)) # Replace blank arm with <Missing>
@@ -740,56 +740,56 @@

autoslider.core coverage - 25.24%

90 - 22x + 26x
    semi_join(., adsl1, by = c("STUDYID", "USUBJID")) %>%
91 - 22x + 26x
    mutate(
92 - 22x + 26x
      ATOXGR = sas_na(ATOXGR) %>% as.factor(),
93 - 22x + 26x
      ATOXGR2 = case_when(
94 - 22x + 26x
        ATOXGR %in% c(1, 2) ~ "1 - 2",
95 - 22x + 26x
        ATOXGR %in% c(3, 4) ~ "3 - 4",
96 - 22x + 26x
        ATOXGR %in% c(5) ~ "5",
97 - 22x + 26x
      ) %>% as.factor()
@@ -810,28 +810,28 @@

autoslider.core coverage - 25.24%

100 - 22x + 26x
  if (soc == "soc") {
101 - 10x + 12x
    anl <- anl %>%
102 - 10x + 12x
      mutate(
103 - 10x + 12x
        AEBODSYS = sas_na(AEBODSYS) %>% as.factor()
@@ -859,28 +859,28 @@

autoslider.core coverage - 25.24%

107 - 22x + 26x
  anl <- anl %>%
108 - 22x + 26x
    var_relabel(
109 - 22x + 26x
      AEBODSYS = "MedDRA System Organ Class",
110 - 22x + 26x
      AEDECOD = "MedDRA Preferred Term"
@@ -894,7 +894,7 @@

autoslider.core coverage - 25.24%

112 - 22x + 26x
    filter(ANL01FL == "Y")
@@ -908,7 +908,7 @@

autoslider.core coverage - 25.24%

114 - 22x + 26x
  if (nrow(anl) == 0) {
@@ -929,7 +929,7 @@

autoslider.core coverage - 25.24%

117 - 21x + 25x
    lyt <- build_table_header(adsl1, arm, split_by_study = split_by_study, side_by_side = side_by_side)
@@ -971,56 +971,56 @@

autoslider.core coverage - 25.24%

123 - 21x + 25x
    if (soc == "soc") {
124 - 10x + 12x
      lyt <- lyt %>%
125 - 10x + 12x
        split_rows_by(
126 - 10x + 12x
          "AEBODSYS",
127 - 10x + 12x
          child_labels = "visible",
128 - 10x + 12x
          nested = FALSE,
129 - 10x + 12x
          indent_mod = -1L,
130 - 10x + 12x
          split_fun = drop_split_levels
@@ -1034,7 +1034,7 @@

autoslider.core coverage - 25.24%

132 - 10x + 12x
        append_varlabels(anl, "AEBODSYS")
@@ -1055,28 +1055,28 @@

autoslider.core coverage - 25.24%

135 - 21x + 25x
    lyt <- lyt %>%
136 - 21x + 25x
      count_occurrences(
137 - 21x + 25x
        vars = "AEDECOD",
138 - 21x + 25x
        .indent_mods = c(count_fraction = 1L)
@@ -1097,7 +1097,7 @@

autoslider.core coverage - 25.24%

141 - 21x + 25x
      append_topleft(paste("  ", var_labels(anl["AEDECOD"]), "N (%)"))
@@ -1111,14 +1111,14 @@

autoslider.core coverage - 25.24%

143 - 21x + 25x
    if (soc == "soc") {
144 - 10x + 12x
      sort_path <- c("AEBODSYS", "*", "AEDECOD")
@@ -1132,7 +1132,7 @@

autoslider.core coverage - 25.24%

146 - 11x + 13x
      sort_path <- c("AEDECOD")
@@ -1160,7 +1160,7 @@

autoslider.core coverage - 25.24%

150 - 21x + 25x
    myh_col_indices <- function(table_row, col_names) {
@@ -1209,7 +1209,7 @@

autoslider.core coverage - 25.24%

157 - 21x + 25x
    result <- lyt_to_side_by_side_two_data(lyt, anl, adsl1, side_by_side)
@@ -1223,28 +1223,28 @@

autoslider.core coverage - 25.24%

159 - 21x + 25x
    result <- result %>%
160 - 21x + 25x
      sort_at_path(
161 - 21x + 25x
        path = sort_path,
162 - 21x + 25x
        scorefun = score_occurrences
@@ -1286,7 +1286,7 @@

autoslider.core coverage - 25.24%

168 - 21x + 25x
    if (diff) {
@@ -1349,7 +1349,7 @@

autoslider.core coverage - 25.24%

177 - 6x + 10x
    } else if (prune_by_total) {
@@ -1454,21 +1454,21 @@

autoslider.core coverage - 25.24%

192 - 2x + 6x
      row_condition <- has_fraction_in_any_col(
193 - 2x + 6x
        atleast = cutoff / 100,
194 - 2x + 6x
        col_names = levels(adsl1[[arm]])
@@ -1496,7 +1496,7 @@

autoslider.core coverage - 25.24%

198 - 19x + 23x
    result1 <- prune_table(result, keep_rows(row_condition))
@@ -1517,7 +1517,7 @@

autoslider.core coverage - 25.24%

201 - 19x + 23x
    if (is.null(result1)) {
@@ -1538,7 +1538,7 @@

autoslider.core coverage - 25.24%

204 - 19x + 23x
      return(result1)
@@ -1579,7 +1579,7 @@

autoslider.core coverage - 25.24%

2 - 2x + 3x
  tern::format_xx(str)
@@ -1649,7 +1649,7 @@

autoslider.core coverage - 25.24%

12 - 22x + 26x
  if (is.na(cutoff)) {
@@ -1670,35 +1670,35 @@

autoslider.core coverage - 25.24%

15 - 17x + 21x
    suffix <- attr(data, "filters")
16 - 17x + 21x
    cutoff_suffix <- str_extract(string = paste(suffix, collapse = "_"), pattern = "(\\d+)(?=PER)") %>%
17 - 17x + 21x
      as.numeric()
18 - 17x + 21x
    if (!is.na(cutoff_suffix)) {
- + 19 - ! + 4x
      assert_that(are_equal(cutoff, cutoff_suffix))
@@ -1719,7 +1719,7 @@

autoslider.core coverage - 25.24%

22 - 22x + 26x
  return(cutoff)
@@ -2130,44 +2130,44 @@

autoslider.core coverage - 25.24%

new_round <- function(x, digits = 1) {
- + 81 - ! + 21x
  posneg <- sign(x)
- + 82 - ! + 21x
  z <- abs(x) * 10^digits
- + 83 - ! + 21x
  z <- z + 0.5 + sqrt(.Machine$double.eps)
- + 84 - ! + 21x
  z <- trunc(z)
- + 85 - ! + 21x
  z <- z / 10^digits
- + 86 - ! + 21x
  z * posneg
@@ -2235,9 +2235,9 @@

autoslider.core coverage - 25.24%

trim_perc1 <- function(x, output) {
- + 96 - ! + 21x
  paste0(x[1], " (", new_round(x[2] * 100, 1), ")")
@@ -2566,42 +2566,42 @@

autoslider.core coverage - 25.24%

143 - 6x + 9x
  conf_type <- control$conf_type
144 - 6x + 9x
  conf_level <- control$conf_level
145 - 6x + 9x
  quantiles <- control$quantiles
146 - 6x + 9x
  formula <- as.formula(paste0(
147 - 6x + 9x
    "Surv(", .var, ", ", is_event,
148 - 6x + 9x
    ") ~ 1"
@@ -2615,21 +2615,21 @@

autoslider.core coverage - 25.24%

150 - 6x + 9x
  srv_fit <- survfit(
151 - 6x + 9x
    formula = formula, data = df, conf.int = conf_level,
152 - 6x + 9x
    conf.type = conf_type
@@ -2643,7 +2643,7 @@

autoslider.core coverage - 25.24%

154 - 6x + 9x
  srv_tab <- summary(srv_fit, extend = TRUE)$table
@@ -2685,7 +2685,7 @@

autoslider.core coverage - 25.24%

160 - 6x + 9x
  new_label <- paste0("Median (Months, ", conf_level * 100, "% CI)")
@@ -2699,35 +2699,35 @@

autoslider.core coverage - 25.24%

162 - 6x + 9x
  list(
163 - 6x + 9x
    median_ci = with_label(c(
164 - 6x + 9x
      unname(srv_tab["median"]),
165 - 6x + 9x
      unname(srv_tab[paste0(srv_fit$conf.int, c("LCL", "UCL"))])
166 - 6x + 9x
    ), new_label)
@@ -3539,7 +3539,7 @@

autoslider.core coverage - 25.24%

282 - 3x + 10x
  system("git status", ignore.stdout = TRUE, ignore.stderr = TRUE) == 0
@@ -3686,7 +3686,7 @@

autoslider.core coverage - 25.24%

303 - 3x + 10x
  if (is_in_repository()) {
@@ -3791,7 +3791,7 @@

autoslider.core coverage - 25.24%

318 - 3x + 10x
    ret <- NULL
@@ -3812,14 +3812,14 @@

autoslider.core coverage - 25.24%

321 - 3x + 10x
  if (for_test == TRUE) {
- + 322 - ! + 7x
    ret <- NULL
@@ -3840,7 +3840,7 @@

autoslider.core coverage - 25.24%

325 - 3x + 10x
  ret
@@ -3985,9 +3985,9 @@

autoslider.core coverage - 25.24%

map_lgl <- function(x, f, ...) {
- + 346 - ! + 47x
  vapply(x, f, logical(1L), ..., USE.NAMES = FALSE)
@@ -4041,9 +4041,9 @@

autoslider.core coverage - 25.24%

map_chr <- function(x, f, ...) {
- + 354 - ! + 2x
  vapply(x, f, character(1L), ..., USE.NAMES = FALSE)
@@ -4167,30 +4167,30 @@

autoslider.core coverage - 25.24%

default_paper_size <- function(program) {
- + 372 - ! + 1x
  output_type <- substr(program, 1L, 1L)
- + 373 - ! + 1x
  defaults <- c(l = "L8", t = "P8", g = "L11")
- + 374 - ! + 1x
  if (output_type %in% names(defaults)) {
- + 375 - ! + 1x
    unname(defaults[output_type])
@@ -4783,16 +4783,16 @@

autoslider.core coverage - 25.24%

validate_paper_size <- function(paper) {
- + 460 - ! + 65x
  assert_is_character_scalar(paper)
- + 461 - ! + 65x
  if (!grepl("^[P|L][1-9][0-9]{0,1}$", paper)) {
@@ -4832,16 +4832,16 @@

autoslider.core coverage - 25.24%

  }
- + 467 - ! + 65x
  fontsize <- as.integer(substr(paper, 2, nchar(paper)))
- + 468 - ! + 65x
  if (fontsize > 14) {
@@ -4881,9 +4881,9 @@

autoslider.core coverage - 25.24%

get_output_file_ext <- function(output, file_path) {
- + 474 - ! + 20x
  if (tools::file_ext(file_path) != "") {
@@ -4902,16 +4902,16 @@

autoslider.core coverage - 25.24%

  } else {
- + 477 - ! + 20x
    file_ext <- ifelse(is_rtable(output) || "dVTableTree" %in% class(output), "out", "pdf")
- + 478 - ! + 20x
    return(sprintf("%s.%s", file_path, file_ext))
@@ -5240,7 +5240,7 @@

autoslider.core coverage - 25.24%

525 - 11x + 12x
  result <- build_table(lyt = lyt, df = anl)
@@ -5254,7 +5254,7 @@

autoslider.core coverage - 25.24%

527 - 10x + 11x
  if (!is.null(side_by_side)) {
@@ -5359,7 +5359,7 @@

autoslider.core coverage - 25.24%

542 - 10x + 11x
  return(result)
@@ -5436,7 +5436,7 @@

autoslider.core coverage - 25.24%

553 - 21x + 26x
  result <- build_table(lyt = lyt, df = anl, alt_counts_df = alt_counts_df)
@@ -5450,7 +5450,7 @@

autoslider.core coverage - 25.24%

555 - 21x + 26x
  if (!is.null(side_by_side)) {
@@ -5583,7 +5583,7 @@

autoslider.core coverage - 25.24%

574 - 21x + 26x
  return(result)
@@ -5616,16 +5616,16 @@

autoslider.core coverage - 25.24%

do_call <- function(fun, ...) {
- + 579 - ! + 21x
  args <- list(...)
- + 580 - ! + 21x
  do.call(fun, args[intersect(names(args), formalArgs(fun))])
@@ -5730,21 +5730,21 @@

autoslider.core coverage - 25.24%

595 - 32x + 38x
  lyt <- basic_table()
596 - 32x + 38x
  if (is.null(side_by_side)) {
597 - 19x + 25x
    if (split_by_study) {
@@ -5786,21 +5786,21 @@

autoslider.core coverage - 25.24%

603 - 16x + 22x
      lyt <- lyt %>%
604 - 16x + 22x
        split_cols_by(var = arm) %>%
605 - 16x + 22x
        add_overall_col("All Patients")
@@ -5870,7 +5870,7 @@

autoslider.core coverage - 25.24%

615 - 32x + 38x
  return(lyt)
@@ -6273,23 +6273,23 @@

autoslider.core coverage - 25.24%

                            fig_width = 9, fig_height = 6, t_lpp = 20, t_cpp = 200, l_lpp = 20, l_cpp = 150, ...) {
- + 51 - ! + 1x
  if (any(c(
- + 52 - ! + 1x
    is(outputs, "VTableTree"),
- + 53 - ! + 1x
    is(outputs, "listing_df")
@@ -6378,23 +6378,23 @@

autoslider.core coverage - 25.24%

    outputs <- list(decorate(outputs, titles = current_title, footnotes = "Confidential and for internal use only"))
- + 66 - ! + 1x
  } else if (any(c(
- + 67 - ! + 1x
    is(outputs, "data.frame"),
- + 68 - ! + 1x
    is(outputs, "ggplot")
@@ -6427,9 +6427,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     73
-                    !
+                    1x
                     
                       
  assert_that(is.list(outputs))
@@ -6455,30 +6455,30 @@

autoslider.core coverage - 25.24%

  # set slides layout
- + 77 - ! + 1x
  ppt <- read_pptx(path = template)
- + 78 - ! + 1x
  location_ <- officer::fortify_location(ph_location_fullsize(), doc = ppt)
- + 79 - ! + 1x
  width <- location_$width
- + 80 - ! + 1x
  height <- location_$height
@@ -6497,51 +6497,51 @@

autoslider.core coverage - 25.24%

  # add content to slides template
- + 83 - ! + 1x
  for (x in outputs) {
- + 84 - ! + 20x
    if (is(x, "dVTableTree") || is(x, "VTableTree")) {
- + 85 - ! + 7x
      y <- to_flextable(x, lpp = t_lpp, cpp = t_cpp, ...)
- + 86 - ! + 7x
      for (tt in y) {
- + 87 - ! + 7x
        table_to_slide(ppt,
- + 88 - ! + 7x
          content = tt,
- + 89 - ! + 7x
          table_loc = center_table_loc(tt$ft, ppt_width = width, ppt_height = height), ...
@@ -6560,9 +6560,9 @@

autoslider.core coverage - 25.24%

      }
- + 92 - ! + 13x
    } else if (is(x, "dlisting")) {
@@ -6616,9 +6616,9 @@

autoslider.core coverage - 25.24%

      }
- + 100 - ! + 13x
    } else if (is(x, "data.frame")) { # this is dedicated for small data frames without pagination
@@ -6637,9 +6637,9 @@

autoslider.core coverage - 25.24%

      table_to_slide(ppt, content = y, decor = FALSE, ...)
- + 103 - ! + 13x
    } else if (is(x, "decoratedGrob") || is(x, "decoratedGrobSet")) {
@@ -6672,9 +6672,9 @@

autoslider.core coverage - 25.24%

      )
- + 108 - ! + 13x
    } else if (is(x, "ggplot")) {
@@ -6721,9 +6721,9 @@

autoslider.core coverage - 25.24%

  }
- + 115 - ! + 1x
  print(ppt, target = outfile)
@@ -7008,23 +7008,23 @@

autoslider.core coverage - 25.24%

center_table_loc <- function(ft, ppt_width, ppt_height) {
- + 156 - ! + 7x
  top <- 0.17 * ppt_height
- + 157 - ! + 7x
  left <- (ppt_width - sum(dim(ft)$widths)) / 2
- + 158 - ! + 7x
  return(ph_location(left = left, top = top))
@@ -7092,16 +7092,16 @@

autoslider.core coverage - 25.24%

  # cat(nchar(title), " ", as.integer(24-nchar(title)/para), "\n")
- + 168 - ! + 7x
  title <- gsub("\\n", "\\s", title)
- + 169 - ! + 7x
  new_title <- ""
@@ -7113,30 +7113,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     171
-                    !
+                    7x
                     
                       
  while (nchar(title) > max_char) {
- + 172 - ! + 6x
    spaces <- gregexpr("\\s", title)
- + 173 - ! + 6x
    new_title <- paste0(new_title, "\n", substring(title, 1, max(spaces[[1]][spaces[[1]] <= max_char])))
- + 174 - ! + 6x
    title <- substring(title, max(spaces[[1]][spaces[[1]] <= max_char]) + 1, nchar(title))
@@ -7155,9 +7155,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     177
-                    !
+                    7x
                     
                       
  new_title <- paste0(new_title, "\n", title)
@@ -7169,37 +7169,37 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     179
-                    !
+                    7x
                     
                       
  ftext(
- + 180 - ! + 7x
    trimws(new_title),
- + 181 - ! + 7x
    fp_text(
- + 182 - ! + 7x
      font.size = floor(26 - nchar(title) / max_char),
- + 183 - ! + 7x
      color = title_color
@@ -7295,16 +7295,16 @@

autoslider.core coverage - 25.24%

table_to_slide <- function(ppt, content, decor = TRUE, table_loc = ph_location_type("body"), ...) {
- + 197 - ! + 7x
  ppt_master <- layout_summary(ppt)$master[1]
- + 198 - ! + 7x
  args <- list(...)
@@ -7316,23 +7316,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     200
-                    !
+                    7x
                     
                       
  if (decor) {
- + 201 - ! + 7x
    print(content$header)
- + 202 - ! + 7x
    out <- content$ft
@@ -7344,16 +7344,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     204
-                    !
+                    7x
                     
                       
    if (length(content$footnotes) > 1) {
- + 205 - ! + 7x
      content$footnotes <- paste(content$footnotes, collapse = "\n")
@@ -7372,37 +7372,37 @@

autoslider.core coverage - 25.24%

    # print(content_footnotes)
- + 208 - ! + 7x
    if (content$footnotes != "") {
- + 209 - ! + 7x
      out <- footnote(out,
- + 210 - ! + 7x
        i = 1, j = 1,
- + 211 - ! + 7x
        value = as_paragraph(content$footnotes),
- + 212 - ! + 7x
        ref_symbols = " ", part = "header", inline = TRUE
@@ -7428,23 +7428,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     216
-                    !
+                    7x
                     
                       
    args$arg_header <- list(
- + 217 - ! + 7x
      value = fpar(get_proper_title(content$header)),
- + 218 - ! + 7x
      location = ph_location_type("title")
@@ -7519,16 +7519,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     229
-                    !
+                    7x
                     
                       
  ppt <- do_call(add_slide, x = ppt, master = ppt_master, ...)
- + 230 - ! + 7x
  ppt <- ph_with(ppt, value = out, location = table_loc)
@@ -7540,23 +7540,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     232
-                    !
+                    7x
                     
                       
  ph_with_args <- args[unlist(lapply(args, function(x) all(c("location", "value") %in% names(x))))]
- + 233 - ! + 7x
  res <- lapply(ph_with_args, function(x) {
- + 234 - ! + 7x
    ppt <- ph_with(ppt, value = x$value, location = x$location)
@@ -7575,9 +7575,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     237
-                    !
+                    7x
                     
                       
  return(res)
@@ -8472,14 +8472,14 @@

autoslider.core coverage - 25.24%

43 - 1x + 8x
    width_set <- attr(x, "width")
44 - 1x + 8x
    tmp_x <- matrix_form(x)
@@ -8493,14 +8493,14 @@

autoslider.core coverage - 25.24%

46 - 1x + 8x
    if (is.null(width_set)) {
47 - 1x + 8x
      width <- propose_column_widths(tmp_x)
@@ -8535,14 +8535,14 @@

autoslider.core coverage - 25.24%

52 - 1x + 8x
    glued_title <- glue(paste(titles, collapse = "\n"))
53 - 1x + 8x
    main_title(x) <- glued_title
@@ -8556,21 +8556,21 @@

autoslider.core coverage - 25.24%

55 - 1x + 8x
    git_fn <- git_footnote(for_test)
56 - 1x + 8x
    glued_footnotes <- glue(paste(c(footnotes, git_fn), collapse = "\n"))
57 - 1x + 8x
    main_footer(x) <- glued_footnotes
@@ -8584,49 +8584,49 @@

autoslider.core coverage - 25.24%

59 - 1x + 8x
    new(
60 - 1x + 8x
      "dVTableTree",
61 - 1x + 8x
      tbl = x,
62 - 1x + 8x
      titles = glued_title,
63 - 1x + 8x
      footnotes = footnotes,
64 - 1x + 8x
      paper = paper,
65 - 1x + 8x
      width = width
@@ -9779,9 +9779,9 @@

autoslider.core coverage - 25.24%

                             for_test = FALSE) {
- + 230 - ! + 1x
  assert_is_valid_version_label(version_label)
@@ -9793,23 +9793,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     232
-                    !
+                    1x
                     
                       
  lapply(outputs, function(output) {
- + 233 - ! + 20x
    if (is(output, "autoslider_error")) {
- + 234 - ! + 13x
      return(output)
@@ -9828,9 +9828,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     237
-                    !
+                    7x
                     
                       
    spec <- attr(output, "spec")
@@ -9842,16 +9842,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     239
-                    !
+                    7x
                     
                       
    filter_titles <- function(...) {
- + 240 - ! + 7x
      if (length(c(...)) == 0 || "all" %in% c(...)) {
@@ -9905,30 +9905,30 @@

autoslider.core coverage - 25.24%

      } else {
- + 248 - ! + 7x
        r <- vapply(
- + 249 - ! + 7x
          Filter(
- + 250 - ! + 7x
            f = function(x) any(x$target %in% toupper(c(...))),
- + 251 - ! + 7x
            x = filters::get_filters(spec$suffix)
@@ -9940,23 +9940,23 @@

autoslider.core coverage - 25.24%

          ),
- + 253 - ! + 7x
          FUN = `[[`,
- + 254 - ! + 7x
          FUN.VALUE = character(1L),
- + 255 - ! + 7x
          "title"
@@ -9975,9 +9975,9 @@

autoslider.core coverage - 25.24%

      }
- + 258 - ! + 7x
      paste(r, collapse = ", ")
@@ -9996,44 +9996,44 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     261
-                    !
+                    7x
                     
                       
    pattern <- "\\{filter_titles\\(((\"\\w+\")(,\\s*\"\\w+\")*){0,1}\\)\\}"
- + 262 - ! + 7x
    if (grepl(pattern, spec$titles)) {
- + 263 - ! + 1x
      m <- regmatches(spec$titles, regexpr(pattern, spec$titles))
- + 264 - ! + 1x
      full_title <- paste(
- + 265 - ! + 1x
        version_label,
- + 266 - ! + 1x
        sub(pattern = pattern, eval(parse(text = m)), spec$titles)
@@ -10052,30 +10052,30 @@

autoslider.core coverage - 25.24%

    } else {
- + 269 - ! + 6x
      full_title <- paste(
- + 270 - ! + 6x
        paste(version_label, spec$titles),
- + 271 - ! + 6x
        filter_titles("ADSL"),
- + 272 - ! + 6x
        sep = ", "
@@ -10101,51 +10101,51 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     276
-                    !
+                    7x
                     
                       
    structure(
- + 277 - ! + 7x
      .Data = decorate(
- + 278 - ! + 7x
        x = output,
- + 279 - ! + 7x
        title = c(full_title, generic_title),
- + 280 - ! + 7x
        footnotes = c(spec$footnotes, generic_footnote),
- + 281 - ! + 7x
        paper = spec$paper,
- + 282 - ! + 7x
        for_test = for_test
@@ -10157,9 +10157,9 @@

autoslider.core coverage - 25.24%

      ),
- + 284 - ! + 7x
      spec = modifyList(spec, list(titles = glue::glue(paste0(c(full_title, generic_title), collapse = "\n"))))
@@ -10562,44 +10562,44 @@

autoslider.core coverage - 25.24%

                              header_font_size = 14) {
- + 30 - ! + 7x
  ft %>%
- + 31 - ! + 7x
    theme_zebra(
- + 32 - ! + 7x
      odd_header = odd_header,
- + 33 - ! + 7x
      odd_body = odd_body,
- + 34 - ! + 7x
      even_header = odd_header,
- + 35 - ! + 7x
      even_body = even_body
@@ -10611,37 +10611,37 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 37 - ! + 7x
    font(fontname = font_name, part = "all") %>%
- + 38 - ! + 7x
    fontsize(size = body_font_size, part = "body") %>%
- + 39 - ! + 7x
    color(color = "white", part = "header") %>%
- + 40 - ! + 7x
    fontsize(size = header_font_size, part = "header") %>%
- + 41 - ! + 7x
    bold(part = "header")
@@ -10849,30 +10849,30 @@

autoslider.core coverage - 25.24%

orange_format <- function(ft, ...) {
- + 71 - ! + 7x
  ft %>% autoslider_format(
- + 72 - ! + 7x
    odd_header = "#ED4A0D",
- + 73 - ! + 7x
    odd_body = "#FF7D29",
- + 74 - ! + 7x
    even_body = "#FFBD69",
@@ -11541,9 +11541,9 @@

autoslider.core coverage - 25.24%

to_flextable <- function(x, ...) {
- + 5 - ! + 14x
  UseMethod("to_flextable")
@@ -13214,37 +13214,37 @@

autoslider.core coverage - 25.24%

to_flextable.VTableTree <- function(x, table_format = orange_format, ...) {
- + 244 - ! + 7x
  tbl <- x
- + 245 - ! + 7x
  mf <- matrix_form(tbl)
- + 246 - ! + 7x
  nr_header <- attr(mf, "nrow_header")
- + 247 - ! + 7x
  non_total_coln <- c(TRUE, !grepl("All Patients", names(tbl)))
- + 248 - ! + 7x
  df <- as.data.frame(mf$strings[(nr_header + 1):(nrow(mf$strings)), , drop = FALSE])
@@ -13256,9 +13256,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     250
-                    !
+                    7x
                     
                       
  header_df <- as.data.frame(mf$strings[1:(nr_header), , drop = FALSE])
@@ -13326,30 +13326,30 @@

autoslider.core coverage - 25.24%

  # }
- + 260 - ! + 7x
  ft <- do_call(flextable, data = df, ...)
- + 261 - ! + 7x
  ft <- ft %>%
- + 262 - ! + 7x
    delete_part(part = "header") %>%
- + 263 - ! + 7x
    add_header(values = header_df)
@@ -13396,65 +13396,65 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     270
-                    !
+                    7x
                     
                       
  ft <- do_call(table_format, ft = ft, ...)
- + 271 - ! + 7x
  ft <- ft %>%
- + 272 - ! + 7x
    merge_at_indice(lst = get_merge_index(mf$spans[(nr_header + 1):nrow(mf$spans), , drop = FALSE]), part = "body") %>%
- + 273 - ! + 7x
    merge_at_indice(lst = get_merge_index(mf$spans[1:nr_header, , drop = FALSE]), part = "header") %>%
- + 274 - ! + 7x
    align_text_col(align = "center", header = TRUE) %>%
- + 275 - ! + 7x
    align(i = seq_len(nrow(tbl)), j = 1, align = "left") %>% # row names align to left
- + 276 - ! + 7x
    padding_lst(mf$row_info$indent) %>%
- + 277 - ! + 7x
    padding(padding.top = 3, padding.bottom = 3, part = "all") %>%
- + 278 - ! + 7x
    autofit(add_h = 0)
@@ -13473,37 +13473,37 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     281
-                    !
+                    7x
                     
                       
  ft <- ft %>%
- + 282 - ! + 7x
    width(width = c(
- + 283 - ! + 7x
      dim(ft)$widths[1],
- + 284 - ! + 7x
      dim(ft)$widths[-1] - dim(ft)$widths[-1] + sum(dim(ft)$widths[-1]) / (ncol(mf$strings) - 1)
- + 285 - ! + 7x
    )) # even the non-label column width
@@ -13515,9 +13515,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     287
-                    !
+                    7x
                     
                       
  if (flextable_dim(ft)$widths > 10) {
@@ -13564,9 +13564,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     294
-                    !
+                    7x
                     
                       
  return(ft)
@@ -13676,9 +13676,9 @@

autoslider.core coverage - 25.24%

to_flextable.dVTableTree <- function(x, lpp, cpp, ...) {
- + 310 - ! + 7x
  dtbl <- x
@@ -13690,37 +13690,37 @@

autoslider.core coverage - 25.24%

  # paginate VTableTree
- + 312 - ! + 7x
  pag_tbl <- paginate_table(dtbl@tbl, lpp = lpp, cpp = cpp)
- + 313 - ! + 7x
  ft_list <- lapply(1:length(pag_tbl), function(x) {
- + 314 - ! + 7x
    ft <- to_flextable(pag_tbl[[x]], ...)
- + 315 - ! + 7x
    if (length(dtbl@tbl@provenance_footer) == 0) {
- + 316 - ! + 7x
      cat_foot <- dtbl@footnotes
@@ -13753,30 +13753,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     321
-                    !
+                    7x
                     
                       
    list(
- + 322 - ! + 7x
      ft = ft,
- + 323 - ! + 7x
      header = ifelse(x == 1, dtbl@titles, paste(dtbl@titles, "(cont.)")),
- + 324 - ! + 7x
      footnotes = cat_foot
@@ -13802,9 +13802,9 @@

autoslider.core coverage - 25.24%

  # force the width of the 1st column to be the widest of all paginated table
- + 328 - ! + 7x
  ft_list_resize <- set_width_widest(ft_list)
@@ -13816,16 +13816,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     330
-                    !
+                    7x
                     
                       
  class(ft_list_resize) <- "dflextable"
- + 331 - ! + 7x
  return(ft_list_resize)
@@ -14348,16 +14348,16 @@

autoslider.core coverage - 25.24%

set_width_widest <- function(ft_list) {
- + 406 - ! + 7x
  width1st <- max(unlist(lapply(ft_list, function(x) {
- + 407 - ! + 7x
    x$ft$body$colwidths[1]
@@ -14369,16 +14369,16 @@

autoslider.core coverage - 25.24%

  })))
- + 409 - ! + 7x
  for (i in 1:length(ft_list)) {
- + 410 - ! + 7x
    ft_list[[i]]$ft <- width(ft_list[[i]]$ft, 1, width = width1st)
@@ -14390,9 +14390,9 @@

autoslider.core coverage - 25.24%

  }
- + 412 - ! + 7x
  return(ft_list)
@@ -14418,30 +14418,30 @@

autoslider.core coverage - 25.24%

get_merge_index_single <- function(span) {
- + 416 - ! + 66x
  ret <- list()
- + 417 - ! + 66x
  j <- 1
- + 418 - ! + 66x
  while (j < length(span)) {
- + 419 - ! + 259x
    if (span[j] != 1) {
@@ -14460,9 +14460,9 @@

autoslider.core coverage - 25.24%

    }
- + 422 - ! + 259x
    j <- j + span[j]
@@ -14474,9 +14474,9 @@

autoslider.core coverage - 25.24%

  }
- + 424 - ! + 66x
  return(ret)
@@ -14502,30 +14502,30 @@

autoslider.core coverage - 25.24%

get_merge_index <- function(spans) {
- + 428 - ! + 14x
  ret <- lapply(seq_len(nrow(spans)), function(i) {
- + 429 - ! + 66x
    ri <- spans[i, ]
- + 430 - ! + 66x
    r <- get_merge_index_single(ri)
- + 431 - ! + 66x
    lapply(r, function(s) {
@@ -14551,9 +14551,9 @@

autoslider.core coverage - 25.24%

  })
- + 435 - ! + 14x
  unlist(ret, recursive = FALSE, use.names = FALSE)
@@ -14579,9 +14579,9 @@

autoslider.core coverage - 25.24%

merge_at_indice <- function(ft, lst, part) {
- + 439 - ! + 14x
  Reduce(function(ft, ij) {
@@ -14593,9 +14593,9 @@

autoslider.core coverage - 25.24%

    merge_at(ft, i = ij$i, j = ij$j, part = part)
- + 441 - ! + 14x
  }, lst, ft)
@@ -14621,23 +14621,23 @@

autoslider.core coverage - 25.24%

padding_lst <- function(ft, indents) {
- + 445 - ! + 7x
  Reduce(function(ft, s) {
- + 446 - ! + 55x
    padding(ft, s, 1, padding.left = (indents[s] + 1) * 10)
- + 447 - ! + 7x
  }, seq_len(length(indents)), ft)
@@ -14823,23 +14823,23 @@

autoslider.core coverage - 25.24%

                       split_by_study = FALSE, side_by_side = NULL) {
- + 25 - ! + 2x
  assert_that(has_name(adae, "AEDECOD"))
- + 26 - ! + 2x
  assert_that(has_name(adae, "ATOXGR"))
- + 27 - ! + 2x
  assert_that(has_name(adae, "AEBODSYS"))
@@ -14851,30 +14851,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     29
-                    !
+                    2x
                     
                       
  slref_arm <- sort(unique(adsl[[arm]]))
- + 30 - ! + 2x
  anl_arm <- sort(unique(adae[[arm]]))
- + 31 - ! + 2x
  assert_that(identical(slref_arm, anl_arm),
- + 32 - ! + 2x
    msg = "The adsl and the analysis datasets should have the same treatment arm levels"
@@ -14893,30 +14893,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     35
-                    !
+                    2x
                     
                       
  anl <- adae %>%
- + 36 - ! + 2x
    mutate_at(
- + 37 - ! + 2x
      c("AEDECOD", "AEBODSYS"),
- + 38 - ! + 2x
      ~ explicit_na(sas_na(.)) # Replace blank arm with <Missing>
@@ -14928,23 +14928,23 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 40 - ! + 2x
    semi_join(., adsl, by = c("STUDYID", "USUBJID")) %>%
- + 41 - ! + 2x
    mutate(
- + 42 - ! + 2x
      AETOXGR = sas_na(AETOXGR) %>% as.factor()
@@ -14956,23 +14956,23 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 44 - ! + 2x
    var_relabel(
- + 45 - ! + 2x
      AEBODSYS = "MedDRA System Organ Class",
- + 46 - ! + 2x
      AEDECOD = "MedDRA Preferred Term"
@@ -14991,16 +14991,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     49
-                    !
+                    2x
                     
                       
  if (nrow(anl) == 0) {
- + 50 - ! + 1x
    return(null_report())
@@ -15012,23 +15012,23 @@

autoslider.core coverage - 25.24%

  } else {
- + 52 - ! + 1x
    lyt <- build_table_header(adsl, arm,
- + 53 - ! + 1x
      split_by_study = split_by_study,
- + 54 - ! + 1x
      side_by_side = side_by_side
@@ -15047,65 +15047,65 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     57
-                    !
+                    1x
                     
                       
    lyt <- lyt %>%
- + 58 - ! + 1x
      split_rows_by(
- + 59 - ! + 1x
        "AEBODSYS",
- + 60 - ! + 1x
        child_labels = "hidden",
- + 61 - ! + 1x
        nested = FALSE,
- + 62 - ! + 1x
        indent_mod = 0L,
- + 63 - ! + 1x
        split_fun = drop_split_levels,
- + 64 - ! + 1x
        label_pos = "topleft",
- + 65 - ! + 1x
        split_label = obj_label(anl$AEBODSYS)
@@ -15117,37 +15117,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 67 - ! + 1x
      summarize_num_patients(
- + 68 - ! + 1x
        var = "USUBJID",
- + 69 - ! + 1x
        .stats = c("unique"),
- + 70 - ! + 1x
        .labels = c(
- + 71 - ! + 1x
          unique = "Total number of patients"
@@ -15159,9 +15159,9 @@

autoslider.core coverage - 25.24%

        ),
- + 73 - ! + 1x
        .formats = list(trim_perc1)
@@ -15173,23 +15173,23 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 75 - ! + 1x
      count_occurrences(
- + 76 - ! + 1x
        vars = "AEBODSYS",
- + 77 - ! + 1x
        .indent_mods = -1L
@@ -15208,23 +15208,23 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 80 - ! + 1x
      count_occurrences(
- + 81 - ! + 1x
        vars = "AEDECOD",
- + 82 - ! + 1x
        .indent_mods = 1L
@@ -15250,9 +15250,9 @@

autoslider.core coverage - 25.24%

      # append_varlabels(anl, "AEDECOD", indent = TRUE)
- + 86 - ! + 1x
      append_topleft(paste("  ", var_labels(anl["AEDECOD"]), "N (%)"))
@@ -15264,9 +15264,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     88
-                    !
+                    1x
                     
                       
    result <- lyt_to_side_by_side_two_data(lyt, anl, adsl, side_by_side)
@@ -15278,37 +15278,37 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     90
-                    !
+                    1x
                     
                       
    result1 <- result %>%
- + 91 - ! + 1x
      prune_table() %>%
- + 92 - ! + 1x
      sort_at_path(
- + 93 - ! + 1x
        path = c("AEBODSYS"),
- + 94 - ! + 1x
        scorefun = cont_n_allcols
@@ -15320,23 +15320,23 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 96 - ! + 1x
      sort_at_path(
- + 97 - ! + 1x
        path = c("AEBODSYS", "*", "AEDECOD"),
- + 98 - ! + 1x
        scorefun = score_occurrences
@@ -15355,16 +15355,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     101
-                    !
+                    1x
                     
                       
    t_aesi_trim_rows <- function(tt) {
- + 102 - ! + 1x
      rows <- collect_leaves(tt, TRUE, TRUE)
@@ -15376,9 +15376,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     104
-                    !
+                    1x
                     
                       
      tbl <- tt[!grepl("unique", names(rows)), , keep_topleft = TRUE]
@@ -15390,9 +15390,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     106
-                    !
+                    1x
                     
                       
      tbl
@@ -15404,30 +15404,30 @@

autoslider.core coverage - 25.24%

    }
- + 108 - ! + 1x
    result1 <- result1 %>%
- + 109 - ! + 1x
      t_aesi_trim_rows()
- + 110 - ! + 1x
    result1@main_title <- "AE event table"
- + 111 - ! + 1x
    return(result1)
@@ -15655,44 +15655,44 @@

autoslider.core coverage - 25.24%

                      metadata = NULL) {
- + 30 - ! + 1x
  spec <- yaml::read_yaml(spec_file, eval.expr = TRUE)
- + 31 - ! + 1x
  ret <- lapply(spec, function(s) {
- + 32 - ! + 46x
    lapply(s$suffix, function(su) {
- + 33 - ! + 46x
      ret <- s
- + 34 - ! + 46x
      ret$suffix <- su
- + 35 - ! + 46x
      c(ret, metadata)
@@ -15711,16 +15711,16 @@

autoslider.core coverage - 25.24%

  })
- + 38 - ! + 1x
  spec_obj <- unlist(ret, recursive = FALSE)
- + 39 - ! + 1x
  as_spec(spec_obj)
@@ -16124,9 +16124,9 @@

autoslider.core coverage - 25.24%

filter_spec <- function(spec, filter_expr, verbose = TRUE) {
- + 97 - ! + 1x
  if (is.character(substitute(filter_expr))) {
@@ -16152,9 +16152,9 @@

autoslider.core coverage - 25.24%

  } else {
- + 101 - ! + 1x
    condition <- substitute(filter_expr)
@@ -16166,16 +16166,16 @@

autoslider.core coverage - 25.24%

  }
- + 103 - ! + 1x
  stopifnot(is_spec(spec), is.language(condition), is.logical(verbose))
- + 104 - ! + 1x
  vars <- all.vars(condition)
@@ -16187,44 +16187,44 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     106
-                    !
+                    1x
                     
                       
  filtered_spec <- Filter(function(output) {
- + 107 - ! + 46x
    assert_exists_in_spec_or_calling_env(vars, output)
- + 108 - ! + 46x
    p <- eval(condition, envir = output)
- + 109 - ! + 46x
    assert_is_valid_filter_result(p)
- + 110 - ! + 46x
    p
- + 111 - ! + 1x
  }, spec)
@@ -16236,16 +16236,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     113
-                    !
+                    1x
                     
                       
  if (verbose) {
- + 114 - ! + 1x
    log_number_of_matched_records(spec, filtered_spec, condition)
@@ -16264,9 +16264,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     117
-                    !
+                    1x
                     
                       
  as_spec(filtered_spec)
@@ -16292,9 +16292,9 @@

autoslider.core coverage - 25.24%

is_spec <- function(x) {
- + 121 - ! + 1x
  "spec" %in% class(x)
@@ -16320,16 +16320,16 @@

autoslider.core coverage - 25.24%

as_spec <- function(x) {
- + 125 - ! + 2x
  spec <- lapply(x, function(elem) {
- + 126 - ! + 66x
    if (is.null(elem$suffix)) {
@@ -16355,9 +16355,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     130
-                    !
+                    66x
                     
                       
    if (elem$suffix == "") {
@@ -16376,9 +16376,9 @@

autoslider.core coverage - 25.24%

    } else {
- + 133 - ! + 66x
      elem$output <- paste(elem$program, elem$suffix, sep = "_")
@@ -16397,23 +16397,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     136
-                    !
+                    66x
                     
                       
    if (is.null(elem$paper)) {
- + 137 - ! + 1x
      elem$paper <- default_paper_size(elem$program)
- + 138 - ! + 65x
    } else if (elem$paper == "a4r") {
@@ -16432,9 +16432,9 @@

autoslider.core coverage - 25.24%

      elem$paper <- "L11"
- + 141 - ! + 65x
    } else if (elem$paper == "a4") {
@@ -16460,9 +16460,9 @@

autoslider.core coverage - 25.24%

    } else {
- + 145 - ! + 65x
      validate_paper_size(elem$paper)
@@ -16481,9 +16481,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     148
-                    !
+                    66x
                     
                       
    elem
@@ -16502,30 +16502,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     151
-                    !
+                    2x
                     
                       
  structure(
- + 152 - ! + 2x
    .Data = spec,
- + 153 - ! + 2x
    names = map_chr(spec, `[[`, "output"),
- + 154 - ! + 2x
    class = union("spec", class(x))
@@ -16781,9 +16781,9 @@

autoslider.core coverage - 25.24%

save_output <- function(output, file_name, save_rds = TRUE) {
- + 34 - ! + 13x
  UseMethod("save_output")
@@ -16844,9 +16844,9 @@

autoslider.core coverage - 25.24%

                                         save_rds = TRUE) {
- + 43 - ! + 13x
  output
@@ -16888,14 +16888,14 @@

autoslider.core coverage - 25.24%

49 - 1x + 8x
  if (save_rds) {
50 - 1x + 8x
    saveRDS(output, file = paste0(file_name, ".rds"))
@@ -16916,7 +16916,7 @@

autoslider.core coverage - 25.24%

53 - 1x + 8x
  invisible(output)
@@ -17502,9 +17502,9 @@

autoslider.core coverage - 25.24%

                         verbose_level = 1) {
- + 137 - ! + 1x
  stopifnot(is.list(outputs))
@@ -17516,9 +17516,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     139
-                    !
+                    1x
                     
                       
  if (!dir.exists(outfolder)) {
@@ -17537,9 +17537,9 @@

autoslider.core coverage - 25.24%

  }
- + 142 - ! + 1x
  if (!is.null(generic_suffix)) {
@@ -17572,58 +17572,58 @@

autoslider.core coverage - 25.24%

  }
- + 147 - ! + 1x
  ret <- lapply(outputs, function(output) {
- + 148 - ! + 20x
    spec <- attr(output, "spec")
- + 149 - ! + 20x
    file_path <- file.path(outfolder, spec$output)
- + 150 - ! + 20x
    file_path <- paste0(c(file_path, generic_suffix), collapse = "_")
- + 151 - ! + 20x
    output <- save_output(
- + 152 - ! + 20x
      output = output,
- + 153 - ! + 20x
      file_name = file_path,
- + 154 - ! + 20x
      save_rds = save_rds
@@ -17642,79 +17642,79 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     157
-                    !
+                    20x
                     
                       
    if (verbose_level > 0) {
- + 158 - ! + 20x
      if (is(output, "autoslider_error")) {
- + 159 - ! + 13x
        cat_bullet(
- + 160 - ! + 13x
          "Saving output ",
- + 161 - ! + 13x
          attr(output, "spec")$output,
- + 162 - ! + 13x
          " failed in step ",
- + 163 - ! + 13x
          attr(output, "step"),
- + 164 - ! + 13x
          " with error message: ",
- + 165 - ! + 13x
          toString(output),
- + 166 - ! + 13x
          bullet = "cross",
- + 167 - ! + 13x
          bullet_col = "red"
@@ -17733,37 +17733,37 @@

autoslider.core coverage - 25.24%

      } else {
- + 170 - ! + 7x
        cat_bullet(
- + 171 - ! + 7x
          "Output saved in path ",
- + 172 - ! + 7x
          file_path,
- + 173 - ! + 7x
          bullet = "tick",
- + 174 - ! + 7x
          bullet_col = "green"
@@ -17796,16 +17796,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     179
-                    !
+                    20x
                     
                       
    attr(output, "outpath") <- get_output_file_ext(output, file_path)
- + 180 - ! + 20x
    output
@@ -17824,30 +17824,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     183
-                    !
+                    1x
                     
                       
  if (verbose_level > 0) {
- + 184 - ! + 1x
    total_number <- length(ret)
- + 185 - ! + 1x
    fail_number <- sum(map_lgl(ret, is, class2 = "autoslider_error"))
- + 186 - ! + 1x
    log_success_infomation(total_number - fail_number, fail_number)
@@ -17866,9 +17866,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     189
-                    !
+                    1x
                     
                       
  ret
@@ -18133,35 +18133,35 @@

autoslider.core coverage - 25.24%

36 - 3x + 5x
  cutoff <- check_and_set_cutoff(adae, cutoff)
37 - 3x + 5x
  result <- t_ae_pt_core(adsl, adae, arm, cutoff,
38 - 3x + 5x
    diff = FALSE, soc = "soc",
39 - 3x + 5x
    prune_by_total = prune_by_total,
40 - 3x + 5x
    split_by_study, side_by_side
@@ -18175,7 +18175,7 @@

autoslider.core coverage - 25.24%

42 - 3x + 5x
  result@main_title <- "Adverse Events table"
@@ -18189,7 +18189,7 @@

autoslider.core coverage - 25.24%

44 - 3x + 5x
  if (is.null(side_by_side)) {
@@ -18203,7 +18203,7 @@

autoslider.core coverage - 25.24%

46 - 3x + 5x
    arm <- col_paths(result)[[1]][1]
@@ -18217,21 +18217,21 @@

autoslider.core coverage - 25.24%

48 - 3x + 5x
    n_r <- data.frame(
49 - 3x + 5x
      ARM = toupper(names(result@col_info)),
50 - 3x + 5x
      N = col_counts(result) %>% as.numeric()
@@ -18245,14 +18245,14 @@

autoslider.core coverage - 25.24%

52 - 3x + 5x
      `colnames<-`(c(paste(arm), "N")) %>%
53 - 3x + 5x
      arrange(get(arm))
@@ -18266,7 +18266,7 @@

autoslider.core coverage - 25.24%

55 - 3x + 5x
    attr(result, "N") <- n_r
@@ -18280,7 +18280,7 @@

autoslider.core coverage - 25.24%

57 - 3x + 5x
  result
@@ -18354,44 +18354,44 @@

autoslider.core coverage - 25.24%

  function(func, datasets, spec, verbose = TRUE) {
- + 9 - ! + 20x
    suffix <- spec$suffix
- + 10 - ! + 20x
    function_args <- names(formals(func))
- + 11 - ! + 7x
    datasets_filtered <- filters::apply_filter(
- + 12 - ! + 7x
      data = datasets,
- + 13 - ! + 7x
      id = suffix,
- + 14 - ! + 7x
      verbose = verbose
@@ -18410,9 +18410,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     17
-                    !
+                    7x
                     
                       
    if ("datasets" %in% function_args) {
@@ -18522,23 +18522,23 @@

autoslider.core coverage - 25.24%

      # to keep compatibility with previous version
- + 33 - ! + 7x
      data_used <-
- + 34 - ! + 7x
        function_args[function_args %in% names(datasets)]
- + 35 - ! + 7x
      if ("spec" %in% function_args) {
@@ -18613,23 +18613,23 @@

autoslider.core coverage - 25.24%

      } else {
- + 46 - ! + 7x
        return({
- + 47 - ! + 7x
          function(...) {
- + 48 - ! + 7x
            fastDoCall(func, c(datasets_filtered[data_used], list(...)))
@@ -19297,51 +19297,51 @@

autoslider.core coverage - 25.24%

           ...) {
- + 41 - ! + 20x
    suffix <- spec$suffix
- + 42 - ! + 20x
    if (verbose_level > 0) {
- + 43 - ! + 20x
      cat_bullet(
- + 44 - ! + 20x
        sprintf(
- + 45 - ! + 20x
          "Running program `%s` with suffix '%s'.",
- + 46 - ! + 20x
          program,
- + 47 - ! + 20x
          suffix
@@ -19353,16 +19353,16 @@

autoslider.core coverage - 25.24%

        ),
- + 49 - ! + 20x
        bullet = "pointer",
- + 50 - ! + 20x
        bullet_col = "green"
@@ -19381,9 +19381,9 @@

autoslider.core coverage - 25.24%

    }
- + 53 - ! + 20x
    func <- tryCatch(
@@ -19395,37 +19395,37 @@

autoslider.core coverage - 25.24%

      {
- + 55 - ! + 20x
        func_wrapper(
- + 56 - ! + 20x
          func = match.fun(program),
- + 57 - ! + 20x
          datasets = datasets,
- + 58 - ! + 20x
          spec = spec,
- + 59 - ! + 20x
          verbose = verbose_level > 1
@@ -19444,30 +19444,30 @@

autoslider.core coverage - 25.24%

      },
- + 62 - ! + 20x
      error = function(e) {
- + 63 - ! + 13x
        info <- e$message
- + 64 - ! + 13x
        if (verbose_level > 0) {
- + 65 - ! + 13x
          cat_bullet(paste0("Error: ", info), bullet = "warning", bullet_col = "red")
@@ -19479,9 +19479,9 @@

autoslider.core coverage - 25.24%

        }
- + 67 - ! + 13x
        autoslider_error(info, spec = spec, step = "filter dataset")
@@ -19500,16 +19500,16 @@

autoslider.core coverage - 25.24%

    )
- + 70 - ! + 20x
    if (is(func, "autoslider_error")) {
- + 71 - ! + 13x
      return(func)
@@ -19521,9 +19521,9 @@

autoslider.core coverage - 25.24%

    }
- + 73 - ! + 7x
    ret <- tryCatch(
@@ -19535,9 +19535,9 @@

autoslider.core coverage - 25.24%

      {
- + 75 - ! + 7x
        func(...)
@@ -19549,9 +19549,9 @@

autoslider.core coverage - 25.24%

      },
- + 77 - ! + 7x
      error = function(e) {
@@ -19605,9 +19605,9 @@

autoslider.core coverage - 25.24%

    )
- + 85 - ! + 7x
    return(ret)
@@ -19878,51 +19878,51 @@

autoslider.core coverage - 25.24%

generate_outputs <- function(spec, datasets, verbose_level = 2) {
- + 124 - ! + 1x
  lapply(spec, function(s) {
- + 125 - ! + 20x
    args <- c(
- + 126 - ! + 20x
      list(
- + 127 - ! + 20x
        program = s$program,
- + 128 - ! + 20x
        spec = s,
- + 129 - ! + 20x
        datasets = datasets,
- + 130 - ! + 20x
        verbose_level = verbose_level
@@ -19934,9 +19934,9 @@

autoslider.core coverage - 25.24%

      ),
- + 132 - ! + 20x
      s$args # ... arguments passed onto the output-generating function
@@ -19948,23 +19948,23 @@

autoslider.core coverage - 25.24%

    )
- + 134 - ! + 20x
    output <- fastDoCall(generate_output, args)
- + 135 - ! + 20x
    attr(output, "spec") <- s
- + 136 - ! + 20x
    output
@@ -20954,79 +20954,79 @@

autoslider.core coverage - 25.24%

  # The gr3-4 only count the patients whose highest ae grade is 3 or 4
- + 57 - ! + 5x
  assert_that(has_name(adae, "TRT01A"))
- + 58 - ! + 5x
  assert_that(has_name(adae, "AEDECOD"))
- + 59 - ! + 5x
  assert_that(has_name(adae, "AEBODSYS"))
- + 60 - ! + 5x
  assert_that(has_name(adae, "ATOXGR"))
- + 61 - ! + 5x
  assert_that(has_name(adae, "AEREL"))
- + 62 - ! + 5x
  assert_that(has_name(adae, "ANL01FL"))
- + 63 - ! + 5x
  assert_that(has_name(adae, "SAFFL"))
- + 64 - ! + 5x
  assert_that(has_name(adae, "TRTEMFL"))
- + 65 - ! + 5x
  assert_that(has_name(adae, "AESER"))
- + 66 - ! + 5x
  assert_that(length(dose_adjust_flags) == length(dose_adjust_labels))
- + 67 - ! + 5x
  assert_that(assertthat::is.flag(gr34_highest_grade_only))
@@ -21045,30 +21045,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     70
-                    !
+                    4x
                     
                       
  if (sum(is.na(dose_adjust_flags)) == 0 & sum(is.na(dose_adjust_labels)) == 0) {
- + 71 - ! + 3x
    for (txt in dose_adjust_flags) {
- + 72 - ! + 9x
      assert_that(all(unlist(adae[txt]) %in% c(TRUE, FALSE)))
- + 73 - ! + 9x
      assert_that(has_name(adae, txt))
@@ -21094,16 +21094,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     77
-                    !
+                    4x
                     
                       
  adsl1 <- adsl %>%
- + 78 - ! + 4x
    select("STUDYID", "USUBJID", "TRT01A")
@@ -21115,9 +21115,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     80
-                    !
+                    4x
                     
                       
  pts_gr5 <- adae %>% filter(ATOXGR %in% c(5))
@@ -21129,30 +21129,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     82
-                    !
+                    4x
                     
                       
  anl <- adae %>%
- + 83 - ! + 4x
    mutate_at(
- + 84 - ! + 4x
      c("AEDECOD", "AEBODSYS"),
- + 85 - ! + 4x
      ~ explicit_na(sas_na(.)) # Replace blank arm with <Missing>
@@ -21164,58 +21164,58 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 87 - ! + 4x
    mutate(
- + 88 - ! + 4x
      ATOXGR = sas_na(ATOXGR) %>% as.factor(),
- + 89 - ! + 4x
      ATOXGR2 = case_when(
- + 90 - ! + 4x
        ATOXGR %in% c(1, 2) ~ "1 - 2",
- + 91 - ! + 4x
        ATOXGR %in% c(3, 4) ~ "3 - 4",
- + 92 - ! + 4x
        ATOXGR %in% c(5) ~ "5",
- + 93 - ! + 4x
      ) %>% as.factor(),
- + 94 - ! + 4x
      TRT01A = sas_na(TRT01A) %>% as.factor()
@@ -21227,44 +21227,44 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 96 - ! + 4x
    semi_join(., adsl1, by = c("STUDYID", "USUBJID")) %>%
- + 97 - ! + 4x
    filter(ANL01FL == "Y" & TRTEMFL == "Y" & SAFFL == "Y") %>%
- + 98 - ! + 4x
    var_relabel(
- + 99 - ! + 4x
      ATOXGR2 = "AE Grade 3 groups",
- + 100 - ! + 4x
      ATOXGR = "AE Grade",
- + 101 - ! + 4x
      TRT01A = "Actual Treatment 01"
@@ -21283,16 +21283,16 @@

autoslider.core coverage - 25.24%

    # ---------- ADAE: Treatment related flags ---------
- + 104 - ! + 4x
    mutate(
- + 105 - ! + 4x
      TMPFL1_REL0 = AEREL == "Y"
@@ -21304,16 +21304,16 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 107 - ! + 4x
    var_relabel(
- + 108 - ! + 4x
      TMPFL1_REL0 = "Any treatment"
@@ -21332,23 +21332,23 @@

autoslider.core coverage - 25.24%

    # ---------- ADAE: Grade 5 and related flags ---------
- + 111 - ! + 4x
    mutate(
- + 112 - ! + 4x
      TMPFL1_G5 = ATOXGR %in% c(5),
- + 113 - ! + 4x
      TMPFL1_G5_REL = ATOXGR %in% c(5) & AEREL == "Y"
@@ -21360,23 +21360,23 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 115 - ! + 4x
    var_relabel(
- + 116 - ! + 4x
      TMPFL1_G5 = "Grade 5 AE",
- + 117 - ! + 4x
      TMPFL1_G5_REL = "Treatment-related Grade 5 AE"
@@ -21395,23 +21395,23 @@

autoslider.core coverage - 25.24%

    # ---------- ADAE: SAE and related flags ---------
- + 120 - ! + 4x
    mutate(
- + 121 - ! + 4x
      TMPFL1_SER = AESER == "Y",
- + 122 - ! + 4x
      TMPFL1_SER_REL = AESER == "Y" & AEREL == "Y"
@@ -21423,23 +21423,23 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 124 - ! + 4x
    var_relabel(
- + 125 - ! + 4x
      TMPFL1_SER = "Serious AE",
- + 126 - ! + 4x
      TMPFL1_SER_REL = "Treatment-related Serious AE"
@@ -21465,37 +21465,37 @@

autoslider.core coverage - 25.24%

  # ---------- ADAE: Grade 3/4 and related flags ---------
- + 130 - ! + 4x
  if (gr34_highest_grade_only == TRUE) {
- + 131 - ! + 3x
    anl <- anl %>%
- + 132 - ! + 3x
      mutate(
- + 133 - ! + 3x
        TMPFL1_G34 = ATOXGR %in% c(3, 4) & !(USUBJID %in% pts_gr5$USUBJID), # Only count the highest grade is 3 or 4
- + 134 - ! + 3x
        TMPFL1_G34_REL = ATOXGR %in% c(3, 4) & AEREL == "Y" & !(USUBJID %in% pts_gr5$USUBJID)
@@ -21507,23 +21507,23 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 136 - ! + 3x
      var_relabel(
- + 137 - ! + 3x
        TMPFL1_G34 = "Grade 3-4 AE",
- + 138 - ! + 3x
        TMPFL1_G34_REL = "Treatment-related Grade 3-4 AE"
@@ -21542,30 +21542,30 @@

autoslider.core coverage - 25.24%

  } else {
- + 141 - ! + 1x
    anl <- anl %>%
- + 142 - ! + 1x
      mutate(
- + 143 - ! + 1x
        TMPFL1_G34 = ATOXGR %in% c(3, 4),
- + 144 - ! + 1x
        TMPFL1_G34_REL = ATOXGR %in% c(3, 4) & AEREL == "Y"
@@ -21577,23 +21577,23 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 146 - ! + 1x
      var_relabel(
- + 147 - ! + 1x
        TMPFL1_G34 = "Grade 3-4 AE",
- + 148 - ! + 1x
        TMPFL1_G34_REL = "Treatment-related Grade 3-4 AE"
@@ -21619,16 +21619,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     152
-                    !
+                    4x
                     
                       
  if (nrow(anl) == 0) {
- + 153 - ! + 1x
    return(null_report())
@@ -21640,72 +21640,72 @@

autoslider.core coverage - 25.24%

  } else {
- + 155 - ! + 3x
    lyt <- basic_table() %>%
- + 156 - ! + 3x
      split_cols_by(arm, split_fun = add_overall_level("All Patients", first = FALSE)) %>%
- + 157 - ! + 3x
      add_colcounts() %>%
- + 158 - ! + 3x
      count_patients_with_event(
- + 159 - ! + 3x
        vars = "USUBJID",
- + 160 - ! + 3x
        table_names = "U",
- + 161 - ! + 3x
        filters = c("SAFFL" = "Y"),
- + 162 - ! + 3x
        denom = "N_col",
- + 163 - ! + 3x
        .stats = "count_fraction",
- + 164 - ! + 3x
        .labels = c(count_fraction = "All grade AEs, any cause")
@@ -21724,37 +21724,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 167 - ! + 3x
      count_patients_with_flags(
- + 168 - ! + 3x
        "USUBJID",
- + 169 - ! + 3x
        flag_variables = c(TMPFL1_REL0 = "Related"),
- + 170 - ! + 3x
        denom = "N_col",
- + 171 - ! + 3x
        .indent_mods = 1L
@@ -21773,37 +21773,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 174 - ! + 3x
      count_patients_with_flags(
- + 175 - ! + 3x
        "USUBJID",
- + 176 - ! + 3x
        flag_variables = c(TMPFL1_G34 = "Grade 3-4 AEs"),
- + 177 - ! + 3x
        denom = "N_col",
- + 178 - ! + 3x
        .indent_mods = 0L
@@ -21822,37 +21822,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 181 - ! + 3x
      count_patients_with_flags(
- + 182 - ! + 3x
        "USUBJID",
- + 183 - ! + 3x
        flag_variables = c(TMPFL1_G34_REL = "Related"),
- + 184 - ! + 3x
        denom = "N_col",
- + 185 - ! + 3x
        .indent_mods = 1L
@@ -21871,37 +21871,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 188 - ! + 3x
      count_patients_with_flags(
- + 189 - ! + 3x
        "USUBJID",
- + 190 - ! + 3x
        flag_variables = c(TMPFL1_G5 = "Grade 5 AE"),
- + 191 - ! + 3x
        denom = "N_col",
- + 192 - ! + 3x
        .indent_mods = 0L
@@ -21920,37 +21920,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 195 - ! + 3x
      count_patients_with_flags(
- + 196 - ! + 3x
        "USUBJID",
- + 197 - ! + 3x
        flag_variables = c(TMPFL1_G5_REL = "Related"),
- + 198 - ! + 3x
        denom = "N_col",
- + 199 - ! + 3x
        .indent_mods = 1L
@@ -21969,37 +21969,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 202 - ! + 3x
      count_patients_with_flags(
- + 203 - ! + 3x
        "USUBJID",
- + 204 - ! + 3x
        flag_variables = c(TMPFL1_SER = "SAEs"),
- + 205 - ! + 3x
        denom = "N_col",
- + 206 - ! + 3x
        .indent_mods = 0L
@@ -22018,37 +22018,37 @@

autoslider.core coverage - 25.24%

      ) %>%
- + 209 - ! + 3x
      count_patients_with_flags(
- + 210 - ! + 3x
        "USUBJID",
- + 211 - ! + 3x
        flag_variables = c(TMPFL1_SER_REL = "Related"),
- + 212 - ! + 3x
        denom = "N_col",
- + 213 - ! + 3x
        .indent_mods = 1L
@@ -22074,51 +22074,51 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     217
-                    !
+                    3x
                     
                       
    if (sum(is.na(dose_adjust_flags)) == 0 & sum(is.na(dose_adjust_labels)) == 0) {
- + 218 - ! + 3x
      for (i in 1:length(dose_adjust_flags)) {
- + 219 - ! + 9x
        text <- paste0(
- + 220 - ! + 9x
          '     lyt <- lyt %>%
- + 221 - ! + 9x
       count_patients_with_flags(
- + 222 - ! + 9x
         "USUBJID",
- + 223 - ! + 9x
         flag_variables = c(', dose_adjust_flags[i], "='", dose_adjust_labels[i],
@@ -22130,16 +22130,16 @@

autoslider.core coverage - 25.24%

          "'),
- + 225 - ! + 9x
                    denom = 'N_col',
- + 226 - ! + 9x
         .indent_mods = 0L)"
@@ -22151,9 +22151,9 @@

autoslider.core coverage - 25.24%

        )
- + 228 - ! + 9x
        eval(parse(text = text))
@@ -22179,30 +22179,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     232
-                    !
+                    3x
                     
                       
    result <- build_table(
- + 233 - ! + 3x
      lyt,
- + 234 - ! + 3x
      df = anl,
- + 235 - ! + 3x
      alt_counts_df = adsl
@@ -22214,9 +22214,9 @@

autoslider.core coverage - 25.24%

    )
- + 237 - ! + 3x
    result@main_title <- "AE summary table"
@@ -22235,9 +22235,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     240
-                    !
+                    3x
                     
                       
  return(result)
@@ -22292,7 +22292,7 @@

autoslider.core coverage - 25.24%

6 - 1x + 79x
  if (length(x) != 1L || is.na(x) || !is.character(x) || x == "") {
@@ -22339,37 +22339,37 @@

autoslider.core coverage - 25.24%

assert_exists_in_spec_or_calling_env <- function(vars, output) {
- + 13 - ! + 46x
  exist_in_spec <- vars %in% names(output)
- + 14 - ! + 46x
  exist_in_calling_env <- map_lgl(vars, exists, parent.frame(n = 2L))
- + 15 - ! + 46x
  non_existing_vars <- vars[!(exist_in_spec | exist_in_calling_env)]
- + 16 - ! + 46x
  n <- length(non_existing_vars)
- + 17 - ! + 46x
  if (n >= 1L) {
@@ -22472,9 +22472,9 @@

autoslider.core coverage - 25.24%

assert_is_valid_filter_result <- function(x) {
- + 32 - ! + 46x
  if (length(x) != 1L || is.na(x) || !is.logical(x)) {
@@ -22542,9 +22542,9 @@

autoslider.core coverage - 25.24%

assert_is_valid_version_label <- function(x) {
- + 42 - ! + 1x
  if (!(x %in% c("DRAFT", "APPROVED") || is.null(x))) {
@@ -22737,58 +22737,58 @@

autoslider.core coverage - 25.24%

t_aesi_slide <- function(adsl, adae, aesi, arm = "ACTARM", grad_var = "AETOXGR") {
- + 24 - ! + 5x
  assert_that(has_name(adsl, arm))
- + 25 - ! + 5x
  assert_that(has_name(adae, "AEACN"))
- + 26 - ! + 5x
  assert_that(has_name(adae, "AEOUT"))
- + 27 - ! + 5x
  assert_that(has_name(adae, "AECONTRT"))
- + 28 - ! + 5x
  assert_that(has_name(adae, "AESER"))
- + 29 - ! + 5x
  assert_that(has_name(adae, "AEREL"))
- + 30 - ! + 5x
  assert_that(has_name(adae, grad_var))
- + 31 - ! + 5x
  assert_that(has_name(adae, "AECONTRT"))
@@ -22800,9 +22800,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     33
-                    !
+                    5x
                     
                       
  aesi_sym <- rlang::sym(aesi)
@@ -22821,9 +22821,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     36
-                    !
+                    4x
                     
                       
  adae2 <- filter(adae, is.na(!!aesi_sym))
@@ -22835,16 +22835,16 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     38
-                    !
+                    3x
                     
                       
  adsl <- df_explicit_na(adsl)
- + 39 - ! + 3x
  adae2 <- df_explicit_na(adae2)
@@ -22870,23 +22870,23 @@

autoslider.core coverage - 25.24%

  # strings and NAs are explicit missing levels.
- + 43 - ! + 3x
  adae2 <- adsl %>%
- + 44 - ! + 3x
    inner_join(adae2, by = c("USUBJID", "TRT01A", "TRT01P", "ARM", "ARMCD", "ACTARM", "ACTARMCD")) %>%
- + 45 - ! + 3x
    df_explicit_na()
@@ -22898,30 +22898,30 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     47
-                    !
+                    3x
                     
                       
  not_resolved <- adae2 %>%
- + 48 - ! + 3x
    filter(!(AEOUT %in% c("RECOVERED/RESOLVED", "FATAL", "RECOVERED/RESOLVED WITH SEQUELAE"))) %>%
- + 49 - ! + 3x
    distinct(USUBJID) %>%
- + 50 - ! + 3x
    mutate(NOT_RESOLVED = "Y")
@@ -22933,44 +22933,44 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     52
-                    !
+                    3x
                     
                       
  adae2 <- adae2 %>%
- + 53 - ! + 3x
    left_join(not_resolved, by = c("USUBJID")) %>%
- + 54 - ! + 3x
    mutate(
- + 55 - ! + 3x
      ALL_RESOLVED = with_label(
- + 56 - ! + 3x
        is.na(NOT_RESOLVED),
- + 57 - ! + 3x
        "Total number of patients with all non-fatal AESIs resolved"
@@ -22982,23 +22982,23 @@

autoslider.core coverage - 25.24%

      ),
- + 59 - ! + 3x
      NOT_RESOLVED = with_label(
- + 60 - ! + 3x
        !is.na(NOT_RESOLVED),
- + 61 - ! + 3x
        "Total number of patients with at least one unresolved or ongoing non-fatal AESI"
@@ -23024,51 +23024,51 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     65
-                    !
+                    3x
                     
                       
  adae2 <- adae2 %>%
- + 66 - ! + 3x
    mutate(
- + 67 - ! + 3x
      AEDECOD = as.character(AEDECOD),
- + 68 - ! + 3x
      WD = with_label(AEACN == "DRUG WITHDRAWN", "Total number of patients with study drug withdrawn due to AESI"),
- + 69 - ! + 3x
      DSM = with_label(
- + 70 - ! + 3x
        AEACN %in% c("DRUG INTERRUPTED", "DOSE INCREASED", "DOSE REDUCED"),
- + 71 - ! + 3x
        "Total number of patients with dose modified/interrupted due to AESI"
@@ -23080,44 +23080,44 @@

autoslider.core coverage - 25.24%

      ),
- + 73 - ! + 3x
      CONTRT = with_label(AECONTRT == "Y", "Total number of patients with treatment received for AESI"),
- + 74 - ! + 3x
      SER = with_label(AESER == "Y", "Total number of patients with at least one serious AESI"),
- + 75 - ! + 3x
      REL = with_label(AEREL == "Y", "Total number of patients with at least one related AESI"),
- + 76 - ! + 3x
      ALL_RESOLVED_WD = with_label(
- + 77 - ! + 3x
        WD == TRUE & ALL_RESOLVED == TRUE,
- + 78 - ! + 3x
        "No. of patients with study drug withdrawn due to resolved AESI"
@@ -23129,23 +23129,23 @@

autoslider.core coverage - 25.24%

      ),
- + 80 - ! + 3x
      ALL_RESOLVED_DSM = with_label(
- + 81 - ! + 3x
        DSM == TRUE & ALL_RESOLVED == TRUE,
- + 82 - ! + 3x
        "No. of patients with dose modified/interrupted due to resolved AESI"
@@ -23157,23 +23157,23 @@

autoslider.core coverage - 25.24%

      ),
- + 84 - ! + 3x
      ALL_RESOLVED_CONTRT = with_label(
- + 85 - ! + 3x
        CONTRT == TRUE & ALL_RESOLVED == TRUE,
- + 86 - ! + 3x
        "No. of patients with treatment received for resolved AESI"
@@ -23185,23 +23185,23 @@

autoslider.core coverage - 25.24%

      ),
- + 88 - ! + 3x
      NOT_RESOLVED_WD = with_label(
- + 89 - ! + 3x
        WD == TRUE & NOT_RESOLVED == TRUE,
- + 90 - ! + 3x
        "No. of patients with study drug withdrawn due to unresolved or ongoing AESI"
@@ -23213,23 +23213,23 @@

autoslider.core coverage - 25.24%

      ),
- + 92 - ! + 3x
      NOT_RESOLVED_DSM = with_label(
- + 93 - ! + 3x
        DSM == TRUE & NOT_RESOLVED == TRUE,
- + 94 - ! + 3x
        "No. of patients with dose modified/interrupted due to unresolved or ongoing AESI"
@@ -23241,23 +23241,23 @@

autoslider.core coverage - 25.24%

      ),
- + 96 - ! + 3x
      NOT_RESOLVED_CONTRT = with_label(
- + 97 - ! + 3x
        CONTRT == TRUE & NOT_RESOLVED == TRUE,
- + 98 - ! + 3x
        "No. of patients with treatment received for unresolved or ongoing AESI"
@@ -23269,23 +23269,23 @@

autoslider.core coverage - 25.24%

      ),
- + 100 - ! + 3x
      SERWD = with_label(
- + 101 - ! + 3x
        AESER == "Y" & AEACN == "DRUG WITHDRAWN",
- + 102 - ! + 3x
        "No. of patients with study drug withdrawn due to serious AESI"
@@ -23297,23 +23297,23 @@

autoslider.core coverage - 25.24%

      ),
- + 104 - ! + 3x
      SERCONTRT = with_label(
- + 105 - ! + 3x
        AECONTRT == "Y" & AESER == "Y",
- + 106 - ! + 3x
        "No. of patients with dose modified/interrupted due to serious AESI"
@@ -23325,23 +23325,23 @@

autoslider.core coverage - 25.24%

      ),
- + 108 - ! + 3x
      SERDSM = with_label(
- + 109 - ! + 3x
        AESER == "Y" & AEACN %in% c("DRUG INTERRUPTED", "DOSE INCREASED", "DOSE REDUCED"),
- + 110 - ! + 3x
        "No. of patients with treatment received for serious AESI"
@@ -23353,23 +23353,23 @@

autoslider.core coverage - 25.24%

      ),
- + 112 - ! + 3x
      RELWD = with_label(
- + 113 - ! + 3x
        AEREL == "Y" & AEACN == "DRUG WITHDRAWN",
- + 114 - ! + 3x
        "No. of patients with study drug withdrawn due to related AESI"
@@ -23381,23 +23381,23 @@

autoslider.core coverage - 25.24%

      ),
- + 116 - ! + 3x
      RELDSM = with_label(
- + 117 - ! + 3x
        AEREL == "Y" & AEACN %in% c("DRUG INTERRUPTED", "DOSE INCREASED", "DOSE REDUCED"),
- + 118 - ! + 3x
        "No. of patients with dose modified/interrupted due to related AESI"
@@ -23409,23 +23409,23 @@

autoslider.core coverage - 25.24%

      ),
- + 120 - ! + 3x
      RELCONTRT = with_label(
- + 121 - ! + 3x
        AECONTRT == "Y" & AEREL == "Y",
- + 122 - ! + 3x
        "No. of patients with treatment received for related AESI"
@@ -23437,9 +23437,9 @@

autoslider.core coverage - 25.24%

      ),
- + 124 - ! + 3x
      RELSER = with_label(AESER == "Y" & AEREL == "Y", "No. of patients with serious, related AESI")
@@ -23458,65 +23458,65 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     127
-                    !
+                    3x
                     
                       
  if (grad_var %in% c("AETOXGR", "ATOXGR")) {
- + 128 - ! + 1x
    adae2 <- adae2 %>%
- + 129 - ! + 1x
      mutate(
- + 130 - ! + 1x
        {{ grad_var }} := forcats::fct_recode(get(grad_var),
- + 131 - ! + 1x
          "Grade 1" = "1",
- + 132 - ! + 1x
          "Grade 2" = "2",
- + 133 - ! + 1x
          "Grade 3" = "3",
- + 134 - ! + 1x
          "Grade 4" = "4",
- + 135 - ! + 1x
          "Grade 5 (fatal outcome)" = "5"
@@ -23535,30 +23535,30 @@

autoslider.core coverage - 25.24%

      )
- + 138 - ! + 2x
  } else if (grad_var %in% c("AESEV", "ASEV")) {
- + 139 - ! + 1x
    adae2 <- adae2 %>%
- + 140 - ! + 1x
      mutate(
- + 141 - ! + 1x
        {{ grad_var }} := forcats::fct_recode(stringr::str_to_title(get(grad_var), locale = "en"))
@@ -23584,9 +23584,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     145
-                    !
+                    3x
                     
                       
  aesi_vars <- c("WD", "DSM", "CONTRT", "ALL_RESOLVED", "NOT_RESOLVED", "SER", "REL")
@@ -23598,51 +23598,51 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     147
-                    !
+                    3x
                     
                       
  lyt_adae <- basic_table(show_colcounts = TRUE) %>%
- + 148 - ! + 3x
    split_cols_by(arm) %>%
- + 149 - ! + 3x
    count_patients_with_event(
- + 150 - ! + 3x
      vars = "USUBJID",
- + 151 - ! + 3x
      filters = c("ANL01FL" = "Y"),
- + 152 - ! + 3x
      denom = "N_col",
- + 153 - ! + 3x
      .labels = c(count_fraction = "Total number of patients with at least one AESI")
@@ -23654,44 +23654,44 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 155 - ! + 3x
    count_values(
- + 156 - ! + 3x
      "ANL01FL",
- + 157 - ! + 3x
      values = "Y",
- + 158 - ! + 3x
      .stats = "count",
- + 159 - ! + 3x
      .labels = c(count = "Total number of AESIs"),
- + 160 - ! + 3x
      table_names = "total_aes"
@@ -23703,30 +23703,30 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 162 - ! + 3x
    count_occurrences_by_grade(
- + 163 - ! + 3x
      var = grad_var,
- + 164 - ! + 3x
      var_labels = "Total number of patients with at least one AESI by worst grade",
- + 165 - ! + 3x
      show_labels = "visible"
@@ -23738,9 +23738,9 @@

autoslider.core coverage - 25.24%

    ) %>%
- + 167 - ! + 3x
    count_patients_with_flags("USUBJID", flag_variables = aesi_vars, denom = "N_col")
@@ -23752,9 +23752,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     169
-                    !
+                    3x
                     
                       
  result <- build_table(lyt_adae, df = adae2, alt_counts_df = adsl)
@@ -23773,9 +23773,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     172
-                    !
+                    3x
                     
                       
  result
@@ -24564,42 +24564,42 @@

autoslider.core coverage - 25.24%

35 - 3x + 5x
  cutoff <- check_and_set_cutoff(adae, cutoff)
36 - 3x + 5x
  result <- t_ae_pt_core(adsl, adae, arm, cutoff,
37 - 3x + 5x
    diff = FALSE, soc = "NULL",
38 - 3x + 5x
    prune_by_total = prune_by_total,
39 - 3x + 5x
    split_by_study,
40 - 3x + 5x
    side_by_side
@@ -24613,7 +24613,7 @@

autoslider.core coverage - 25.24%

42 - 3x + 5x
  result@main_title <- "Adverse Events table"
@@ -24627,7 +24627,7 @@

autoslider.core coverage - 25.24%

44 - 3x + 5x
  if (is.null(side_by_side)) {
@@ -24641,7 +24641,7 @@

autoslider.core coverage - 25.24%

46 - 3x + 5x
    arm <- col_paths(result)[[1]][1]
@@ -24655,21 +24655,21 @@

autoslider.core coverage - 25.24%

48 - 3x + 5x
    n_r <- data.frame(
49 - 3x + 5x
      ARM = toupper(names(result@col_info)),
50 - 3x + 5x
      N = col_counts(result) %>% as.numeric()
@@ -24683,14 +24683,14 @@

autoslider.core coverage - 25.24%

52 - 3x + 5x
      `colnames<-`(c(paste(arm), "N")) %>%
53 - 3x + 5x
      arrange(get(arm))
@@ -24704,7 +24704,7 @@

autoslider.core coverage - 25.24%

55 - 3x + 5x
    attr(result, "N") <- n_r
@@ -24718,7 +24718,7 @@

autoslider.core coverage - 25.24%

57 - 3x + 5x
  result
@@ -25351,9 +25351,9 @@

autoslider.core coverage - 25.24%

           envir = parent.frame()) {
- + 15 - ! + 27x
    if (quote) {
@@ -25379,9 +25379,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     19
-                    !
+                    27x
                     
                       
    if (is.null(names(args))) {
@@ -25414,16 +25414,16 @@

autoslider.core coverage - 25.24%

      # Add all the named arguments
- + 24 - ! + 27x
      argn <- lapply(names(args)[names(args) != ""], as.name)
- + 25 - ! + 27x
      names(argn) <- names(args)[names(args) != ""]
@@ -25435,16 +25435,16 @@

autoslider.core coverage - 25.24%

      # Add the unnamed arguments
- + 27 - ! + 27x
      argn <- c(argn, args[names(args) == ""])
- + 28 - ! + 27x
      args <- args[names(args) != ""]
@@ -25463,9 +25463,9 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     31
-                    !
+                    27x
                     
                       
    if (is(what, "character")) {
@@ -25533,30 +25533,30 @@

autoslider.core coverage - 25.24%

      call <- as.call(c(list(what), argn))
- + 41 - ! + 27x
    } else if (is(what, "function")) {
- + 42 - ! + 27x
      f_name <- deparse(substitute(what))
- + 43 - ! + 27x
      call <- as.call(c(list(as.name(f_name)), argn))
- + 44 - ! + 27x
      args[[f_name]] <- what
@@ -25589,23 +25589,23 @@

autoslider.core coverage - 25.24%


                     
                   
-                  
+                  
                     49
-                    !
+                    27x
                     
                       
    eval(call,
- + 50 - ! + 27x
      envir = args,
- + 51 - ! + 27x
      enclos = envir
@@ -25765,42 +25765,42 @@

autoslider.core coverage - 25.24%

20 - 2x + 3x
  assert_that(has_name(adsl, arm))
21 - 2x + 3x
  assert_that(has_name(adtte, "CNSR"))
22 - 2x + 3x
  assert_that(has_name(adtte, "EVNTDESC"))
23 - 2x + 3x
  assert_that(has_name(adtte, "AVALU"))
24 - 2x + 3x
  assert_that(has_name(adtte, "AVAL"))
25 - 2x + 3x
  assert_that(all(!is.na(adtte[["AVALU"]])))
@@ -25814,28 +25814,28 @@

autoslider.core coverage - 25.24%

27 - 2x + 3x
  slref_arm <- sort(unique(adsl[[arm]]))
28 - 2x + 3x
  anl_arm <- sort(unique(adtte[[arm]]))
29 - 2x + 3x
  assert_that(identical(slref_arm, anl_arm),
30 - 2x + 3x
    msg = "The adsl and the analysis datasets should have the same treatment arm levels"
@@ -25863,14 +25863,14 @@

autoslider.core coverage - 25.24%

34 - 2x + 3x
  time_unit <- unique(adtte[["AVALU"]])
35 - 2x + 3x
  assert_that(length(time_unit) == 1)
@@ -25884,21 +25884,21 @@

autoslider.core coverage - 25.24%

37 - 2x + 3x
  if (toupper(time_unit) == "DAYS") {
38 - 1x + 2x
    adtte <- adtte %>%
39 - 1x + 2x
      dplyr::mutate(AVAL = day2month(AVAL))
@@ -25940,56 +25940,56 @@

autoslider.core coverage - 25.24%

45 - 2x + 3x
  adtte_f <- adtte %>%
46 - 2x + 3x
    dplyr::mutate(
47 - 2x + 3x
      is_event = CNSR == 0,
48 - 2x + 3x
      is_not_event = CNSR == 1,
49 - 2x + 3x
      EVNT1 = factor(
50 - 2x + 3x
        case_when(
51 - 2x + 3x
          is_event == TRUE ~ "Responders with subsequent event (%)",
52 - 2x + 3x
          is_event == FALSE ~ "Responders without subsequent event (%)"
@@ -26010,7 +26010,7 @@

autoslider.core coverage - 25.24%

55 - 2x + 3x
      EVNTDESC = factor(EVNTDESC)
@@ -26024,21 +26024,21 @@

autoslider.core coverage - 25.24%

57 - 2x + 3x
    semi_join(., adsl, by = c("STUDYID", "USUBJID")) %>%
58 - 2x + 3x
    select(STUDYID, USUBJID, {{ arm }}, AVAL, is_event, is_not_event, EVNT1, EVNTDESC) %>%
59 - 2x + 3x
    df_explicit_na(char_as_factor = FALSE)
@@ -26052,28 +26052,28 @@

autoslider.core coverage - 25.24%

61 - 2x + 3x
  lyt_02 <- basic_table() %>%
62 - 2x + 3x
    split_cols_by(
63 - 2x + 3x
      var = arm,
64 - 2x + 3x
      ref_group = refgroup
@@ -26087,42 +26087,42 @@

autoslider.core coverage - 25.24%

66 - 2x + 3x
    add_colcounts() %>%
67 - 2x + 3x
    count_values(
68 - 2x + 3x
      vars = "USUBJID",
69 - 2x + 3x
      values = unique(adtte$USUBJID),
70 - 2x + 3x
      .labels = "Responders",
71 - 2x + 3x
      .stats = "count"
@@ -26136,42 +26136,42 @@

autoslider.core coverage - 25.24%

73 - 2x + 3x
    analyze_vars(
74 - 2x + 3x
      vars = "is_event",
75 - 2x + 3x
      .stats = "count_fraction",
76 - 2x + 3x
      .labels = c(count_fraction = "With subsequent event (%)"),
77 - 2x + 3x
      .indent_mods = c(count_fraction = 1L),
78 - 2x + 3x
      show_labels = "hidden",
@@ -26185,56 +26185,56 @@

autoslider.core coverage - 25.24%

80 - 2x + 3x
    analyze(
81 - 2x + 3x
      vars = "AVAL",
82 - 2x + 3x
      afun = s_surv_time_1,
83 - 2x + 3x
      extra_args = list(is_event = "is_event"),
84 - 2x + 3x
      table_names = "est_prop",
85 - 2x + 3x
      format = format_xx("xx.x (xx.x, xx.x)"),
86 - 2x + 3x
      show_labels = "hidden",
87 - 2x + 3x
      indent_mod = 1
@@ -26255,21 +26255,21 @@

autoslider.core coverage - 25.24%

90 - 2x + 3x
  result <- build_table(lyt_02, df = adtte_f, alt_counts_df = adsl)
91 - 2x + 3x
  result@main_title <- "DOR slide"
92 - 2x + 3x
  result
@@ -26296,28 +26296,28 @@

autoslider.core coverage - 25.24%

2 - 2x + 3x
  total_number <- success + failure
3 - 2x + 3x
  cat_bullet(
4 - 2x + 3x
    "Total number of success ",
5 - 2x + 3x
    success,
@@ -26331,21 +26331,21 @@

autoslider.core coverage - 25.24%

7 - 2x + 3x
    total_number,
8 - 2x + 3x
    bullet = "tick",
9 - 2x + 3x
    bullet_col = "green"
@@ -26359,28 +26359,28 @@

autoslider.core coverage - 25.24%

11 - 2x + 3x
  if (failure > 0) {
12 - 1x + 2x
    cat_bullet(
13 - 1x + 2x
      "Total number of failures ",
14 - 1x + 2x
      failure,
@@ -26394,21 +26394,21 @@

autoslider.core coverage - 25.24%

16 - 1x + 2x
      total_number,
17 - 1x + 2x
      bullet = "cross",
18 - 1x + 2x
      bullet_col = "red"
@@ -26462,44 +26462,44 @@

autoslider.core coverage - 25.24%

                                          condition) {
- + 26 - ! + 1x
  if (length(filtered_spec)) {
- + 27 - ! + 1x
    msg <- sprintf(
- + 28 - ! + 1x
      "%d/%d outputs matched the filter condition `%s`.",
- + 29 - ! + 1x
      length(filtered_spec),
- + 30 - ! + 1x
      length(original_spec),
- + 31 - ! + 1x
      deparse(condition)
@@ -26511,9 +26511,9 @@

autoslider.core coverage - 25.24%

    )
- + 33 - ! + 1x
    cat_bullet(msg, bullet = "tick", bullet_col = "green")
@@ -26743,14 +26743,14 @@

autoslider.core coverage - 25.24%

24 - 6x + 7x
  assert_that(has_name(adsl, "DTHCAT"))
25 - 6x + 7x
  assert_that(has_name(adsl, "DTHFL"))
@@ -26764,7 +26764,7 @@

autoslider.core coverage - 25.24%

27 - 6x + 7x
  anl <- adsl
@@ -26778,7 +26778,7 @@

autoslider.core coverage - 25.24%

29 - 6x + 7x
  if (nrow(anl) == 0) {
@@ -26799,7 +26799,7 @@

autoslider.core coverage - 25.24%

32 - 5x + 6x
    lyt <- build_table_header(adsl, arm, split_by_study = split_by_study, side_by_side = side_by_side)
@@ -26813,42 +26813,42 @@

autoslider.core coverage - 25.24%

34 - 5x + 6x
    lyt <- lyt %>%
35 - 5x + 6x
      count_values(
36 - 5x + 6x
        "DTHFL",
37 - 5x + 6x
        values = "Y",
38 - 5x + 6x
        denom = c("N_col"),
39 - 5x + 6x
        .labels = c(count_fraction = "All Deaths")
@@ -26862,35 +26862,35 @@

autoslider.core coverage - 25.24%

41 - 5x + 6x
      analyze_vars(
42 - 5x + 6x
        vars = "DTHCAT", .stats = "count_fraction",
43 - 5x + 6x
        na_str = "<Missing>",
44 - 5x + 6x
        var_labels = " ",
45 - 5x + 6x
        na.rm = TRUE
@@ -26953,7 +26953,7 @@

autoslider.core coverage - 25.24%

54 - 5x + 6x
      append_topleft("N (%)")
@@ -26967,21 +26967,21 @@

autoslider.core coverage - 25.24%

56 - 5x + 6x
    result <- lyt_to_side_by_side(lyt, anl, side_by_side)
57 - 4x + 5x
    result@main_title <- "Death table"
58 - 4x + 5x
    result
@@ -27267,21 +27267,21 @@

autoslider.core coverage - 25.24%

38 - 2x + 4x
  rtable(
39 - 2x + 4x
    header = " ",
40 - 2x + 4x
    rrow("", "Null Report: No observations met the reporting criteria for inclusion in this output.")
@@ -27392,42 +27392,42 @@

autoslider.core coverage - 25.24%

13 - 1x + 14x
  assert_is_character_scalar(x)
14 - 1x + 14x
  structure(
15 - 1x + 14x
    .Data = x,
16 - 1x + 14x
    step = step,
17 - 1x + 14x
    spec = spec,
18 - 1x + 14x
    class = "autoslider_error"