From 134cf88937e3c78633a32e4fbb2f164bf88148cb Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 13:06:27 -0400 Subject: [PATCH 1/8] 1. Add plan in meta_sl_example.R 2. /R Add 3 functions - prepare_base_char_subgroup.R - format_base_char_subgroup.R - rtf_base_char_subgroup.R 3. /man Add 3 functions document - prepare_base_char_subgroup.Rd - format_base_char_subgroup.Rd - rtf_base_char_subgroup.Rd 4. /vignettes Add Rmd 5. /vignettes Mock up - RTF - pdf for RMD display --- NAMESPACE | 3 + R/format_base_char_subgroup.R | 98 +++++ R/meta_sl_example.R | 13 + R/prepare_base_char_subgroup.R | 123 ++++++ R/rtf_base_char_subgroup.R | 289 +++++++++++++ man/format_base_char_subgroup.Rd | 42 ++ man/prepare_base_char_subgroup.Rd | 53 +++ man/rtf_base_char_subgroup.Rd | 66 +++ vignettes/metalite-sl-subgroup.Rmd | 110 +++++ vignettes/outtable/bar0char0subgroup.pdf | Bin 0 -> 34818 bytes vignettes/outtable/bar0char0subgroup.rtf | 505 +++++++++++++++++++++++ 11 files changed, 1302 insertions(+) create mode 100644 R/format_base_char_subgroup.R create mode 100644 R/prepare_base_char_subgroup.R create mode 100644 R/rtf_base_char_subgroup.R create mode 100644 man/format_base_char_subgroup.Rd create mode 100644 man/prepare_base_char_subgroup.Rd create mode 100644 man/rtf_base_char_subgroup.Rd create mode 100644 vignettes/metalite-sl-subgroup.Rmd create mode 100644 vignettes/outtable/bar0char0subgroup.pdf create mode 100644 vignettes/outtable/bar0char0subgroup.rtf diff --git a/NAMESPACE b/NAMESPACE index 1f75b7e..d23d438 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -3,15 +3,18 @@ export(collect_baseline) export(defmt_pct) export(format_base_char) +export(format_base_char_subgroup) export(format_disposition) export(format_trt_compliance) export(meta_sl) export(meta_sl_example) export(prepare_base_char) +export(prepare_base_char_subgroup) export(prepare_disposition) export(prepare_sl_summary) export(prepare_trt_compliance) export(react_base_char) export(rtf_base_char) +export(rtf_base_char_subgroup) export(rtf_disposition) export(rtf_trt_compliance) diff --git a/R/format_base_char_subgroup.R b/R/format_base_char_subgroup.R new file mode 100644 index 0000000..9b0d9dd --- /dev/null +++ b/R/format_base_char_subgroup.R @@ -0,0 +1,98 @@ +# Copyright (c) 2024 Merck & Co., Inc., Rahway, NJ, USA and its affiliates. +# All rights reserved. +# +# This file is part of the metalite.sl program. +# +# metalite.sl is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +#' Prepare data for Subgroup Analysis for Baseline Characteristic +#' +#' @param outdata A metadata object created by [prepare_base_char_subgroup()]. +#' @param display Column wants to display on the table. +#' The term could be selected from `c("n", "prop", "total")`. +#' @param display_stat A vector of statistics term name. +#' The term name could be selected from +#' `c("mean", "sd", "se", "median", "q1 to q3", "range", "q1", "q3", "min", "max")`. +#' +#' @return A list of analysis raw datasets. +#' @export +#' +#' @examples +#' #' meta <- meta_sl_example() +#' +#' outdata <- prepare_base_char_subgroup( +#' meta, +#' population = "apat", +#' parameter = "age", +#' subgroup_var = "TRTA", +#' subgroup_header = c("SEX","TRTA"), +#' display_subgroup_total = TRUE +#' ) +#' +#' outdata |> format_base_char_subgroup() + +format_base_char_subgroup <- function( + outdata, + display = c("n","prop","total"), + display_stat = c("mean", "sd", "median", "range")) { + + out_all <- outdata$out_all + + outlst <- list() + for (i in seq_along(out_all)) { + tbl <- out_all[[i]] |> + format_base_char( + display_col = display, + digits_prop = 1, + display_stat = display_stat + ) + + #names(tbl$tbl)[-1] <- paste0(names(out_all[i]), names(tbl$tbl)[-1]) + names(tbl$tbl)[-1] <- ifelse(grepl("_label",names(tbl$tbl)[-1]) %in% "FALSE", paste0(names(out_all[i]), names(tbl$tbl)[-1]),names(tbl$tbl)[-1]) + + tbl$tbl$order <- as.numeric(rownames(tbl$tbl)) + + outlst[[i]] <- tbl$tbl + } + + names(outlst) <- names(out_all) + outlst <- outlst[-length(outlst)] + + i <- 1 + while (i < length(outlst)) { + if (i == 1) { + tbl <- merge(outlst[[i]], outlst[[i + 1]], by = c("name","var_label","order"), all = TRUE) + } + + i <- i + 1 + + if (i > 1 && i < length(outlst)) { + tbl <- merge(tbl, outlst[[i + 1]], by = c("name","var_label","order"), all = TRUE) + } + } + + + # If outdata$display_subgroup_total = FALSE, remove that part + #if (!outdata$display_subgroup_total) { + # rm_tot <- names(outlst$Total) # Columns from Total Section + # rm_tot <- rm_tot[!rm_tot %in% c("name", "order")] + + # tbl <- tbl[, -which(names(tbl) %in% rm_tot)] + #} + + outdata$tbl <- tbl %>% dplyr::arrange(order) + outdata$display <- display + outdata$display_stat <- display_stat + outdata +} \ No newline at end of file diff --git a/R/meta_sl_example.R b/R/meta_sl_example.R index 59bbd4f..118829a 100644 --- a/R/meta_sl_example.R +++ b/R/meta_sl_example.R @@ -34,6 +34,10 @@ meta_sl_example <- function() { levels = c("Placebo", "Xanomeline Low Dose", "Xanomeline High Dose"), labels = c("Placebo", "Low Dose", "High Dose") ) + adsl$SEX <- factor(adsl$SEX, + levels = c("F", "M"), + labels = c("Female", "Male") + ) # Create a variable EOSSTT indicating the end of end of study status adsl$EOSSTT <- sample(x = c("Participants Ongoing", "Discontinued"), @@ -55,6 +59,10 @@ meta_sl_example <- function() { metalite::add_plan( analysis = "disp", population = "apat", observation = "apat", parameter = "disposition;medical-disposition" + ) |> + metalite::add_plan( + analysis = "base_char_subgroup", population = "apat", + observation = "apat", parameter = "age" ) meta <- metalite::meta_adam( @@ -124,5 +132,10 @@ meta_sl_example <- function() { title = "Disposition of Participant", label = "disposition table" ) |> + metalite::define_analysis( + name = "base_char_subgroup", + title = "Participant by Age Category and Sex", + label = "baseline characteristic sub group table" + ) |> metalite::meta_build() } diff --git a/R/prepare_base_char_subgroup.R b/R/prepare_base_char_subgroup.R new file mode 100644 index 0000000..1a92d48 --- /dev/null +++ b/R/prepare_base_char_subgroup.R @@ -0,0 +1,123 @@ +# Copyright (c) 2024 Merck & Co., Inc., Rahway, NJ, USA and its affiliates. +# All rights reserved. +# +# This file is part of the metalite.sl program. +# +# metalite.sl is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +#' Prepare data for treatment compliance table +#' +#' @param meta A metadata object created by metalite. +#' @param population A character value of population term name. +#' The term name is used as key to link information. +#' @param analysis A character value of analysis term name. +#' The term name is used as key to link information. +#' @param parameter A character value of parameter term name. +#' The term name is used as key to link information. +#' @param subgroup_var A character value of subgroup variable name in +#' observation data saved in `meta$data_observation`. +#' @param subgroup_header A character vector for column header hierarchy. +#' The first element will be the first level header and the second element +#' will be second level header. +#' @param display_subgroup_total A logic value of displaying the total group. +#' +#' @return A list of analysis raw datasets. +#' @export +#' +#' @examples +#' #' meta <- meta_sl_example() +#' outdata <- prepare_base_char_subgroup( +#' meta, +#' population = "apat", +#' parameter = "age", +#' subgroup_var = "TRTA", +#' subgroup_header = c("SEX","TRTA"), +#' display_subgroup_total = TRUE) + + +prepare_base_char_subgroup <- function( + meta, + population, + analysis = "base_char_subgroup", + parameter, + subgroup_var, + subgroup_header = c(meta$population[[population]]$group, subgroup_var), + display_subgroup_total = TRUE) { + + meta_original <- meta + + observation <- meta$plan[meta$plan$analysis==analysis,]$observation + + #Factor Level 1 Subgroup + meta$data_population[[subgroup_header[1]]] <- factor( + as.character(meta$data_population[[subgroup_header[1]]]), + levels = sort(unique(meta$data_population[[subgroup_header[1]]])) + ) + meta$data_observation[[subgroup_header[1]]] <- factor( + as.character(meta$data_observation[[subgroup_header[1]]]), + levels = sort(unique(meta$data_observation[[subgroup_header[1]]])) + ) + + #Factor Level 2 Subgroup + meta$data_population[[subgroup_var]] <- factor( + as.character(meta$data_population[[subgroup_var]]), + levels = sort(unique(meta$data_population[[subgroup_var]])) + ) + meta$data_observation[[subgroup_var]] <- factor( + as.character(meta$data_observation[[subgroup_var]]), + levels = sort(unique(meta$data_observation[[subgroup_var]])) + ) + + meta$observation[[observation]]$group <- subgroup_header[1] + meta$population[[population]]$group <- subgroup_header[1] + + # Obtain variables + par_var <- collect_adam_mapping(meta, parameter)$var + + meta_subgroup <- metalite::meta_split(meta, subgroup_header[2]) + + outdata_all <- prepare_sl_summary( + meta, + analysis = analysis, + population = meta$plan[meta$plan$analysis==analysis,]$population, + parameter = parameter + ) + + outdata_subgroup <- lapply( + meta_subgroup, + prepare_sl_summary, + analysis = analysis, + population = meta$plan[meta$plan$analysis==analysis,]$population, + parameter = parameter + ) + + out_all <- outdata_subgroup + out_all$Total <- outdata_all + + group <- as.character(outdata_subgroup[[1]]$group_label) + group <- group[!group %in% "Total"] + + outdata <- list( + group = group, + subgroup = tools::toTitleCase(tolower(names(outdata_subgroup))), + display_subgroup_total = display_subgroup_total, + meta = meta_original, + population = population, + observation = observation, + parameter = parameter, + out_all = out_all + ) + +} + \ No newline at end of file diff --git a/R/rtf_base_char_subgroup.R b/R/rtf_base_char_subgroup.R new file mode 100644 index 0000000..f06916e --- /dev/null +++ b/R/rtf_base_char_subgroup.R @@ -0,0 +1,289 @@ +# Copyright (c) 2024 Merck & Co., Inc., Rahway, NJ, USA and its affiliates. +# All rights reserved. +# +# This file is part of the metalite.sl program. +# +# metalite.sl is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +#' Subgroup Analysis for Baseline Characteristic +#' +#' @param outdata An `outdata` object created by [prepare_base_char_subgroup()] +#' @param source A character value of the data source. +#' @inheritParams r2rtf::rtf_page +#' @inheritParams r2rtf::rtf_body +#' @param footnotes A character vector of table footnotes. +#' @param title Term "analysis", "observation" and "population") for collecting title from metadata or a character vector of table titles. +#' @param path_outdata A character string of the outdata path. +#' @param path_outtable A character string of the outtable path. +#' +#' @return RTF file and source dataset for baseline characteristic table. +#' @export +#' +#' @examples +#' meta <- meta_sl_example() +#' +#' outdata <- prepare_base_char_subgroup( +#' meta, +#' population = "apat", +#' parameter = "age", +#' subgroup_var = "TRTA", +#' subgroup_header = c("SEX","TRTA"), +#' display_subgroup_total = TRUE +#' ) +#' +#' outdata |> +#' format_base_char_subgroup() |> +#' rtf_base_char_subgroup( +#' source = "Source: [CDISCpilot: adam-adsl]", +#' path_outtable = "outtable/bar0char0subgroup.rtf" +#' ) +#' +rtf_base_char_subgroup <- function( + outdata, + source, + col_rel_width = NULL, + text_font_size = 8, + orientation = "landscape", + footnotes = NULL, + title = NULL, + path_outdata = NULL, + path_outtable = NULL) { + + out_all <- outdata$out_all + tbl <- outdata$tbl + + #Add empty line before stats summary section + tbl<- tbl |> + dplyr::mutate(split = cumsum(ifelse(tolower(name) == outdata$display_stat[1], 1, 0))) |> + dplyr::group_by(split) |> + dplyr::group_modify(.f = ~dplyr::add_row(.data = ., + name = "", var_label= tbl[tolower(tbl$name) == outdata$display_stat[1],]$var_label)) + + tbl1 <- tbl[!names(tbl) %in% c("order","split")] + tgroup <- outdata$group + sgroup <- outdata$subgroup + if (outdata$display_subgroup_total) tgroup <- c(tgroup, "Total") + n_sgroup <- length(sgroup) + n_tgroup <- length(tgroup) + n_row <- nrow(tbl1) + n_col <- ncol(tbl1) + + if (!is.null(col_rel_width) && !n_col == length(col_rel_width)) { + stop( + "col_rel_width must have the same length (has ", + length(col_rel_width), + ") as as outdata$tbl has number of columns (has ", + n_col, ")." + ) + } + + # Define title + if (is.null(title)) { + title <- metalite::collect_title(outdata$meta, + outdata$population, + "", + outdata$parameter, + analysis = "base_char_subgroup") + } + + # Set default footnote + footnotes_stat <- NULL + if ("sd" %in% tolower(outdata$display_stat)) { + footnotes_stat <- c(footnotes_stat, "SD=Standard deviation") + } + if ("se" %in% tolower(outdata$display_stat)) { + footnotes_stat <- c(footnotes_stat, paste0("SE=Standard err", "or")) + } + if ("q1 to q3" %in% tolower(outdata$display_stat)) { + footnotes_stat <- c(footnotes_stat, "Q1=First quartile, Q3=Third quartile") + } + # combine footnotes for abbreviation of statistics + footnotes_stat <- paste(footnotes_stat, collapse = "; ") + # combine with user defined footnotes if not NULL + if (nchar(footnotes_stat) > 0) { + if (!is.null(footnotes)) { + footnotes <- paste0(footnotes_stat, ".\n", footnotes) + } else { + footnotes <- paste0(footnotes_stat, ".") + } + } + + col_tbl_within <- outdata$display + + col_tbl_within <- col_tbl_within |> + (\(list) list[list %in% c("n","prop")])() |> + unique() + + colhead_within <- paste( + vapply( + X = col_tbl_within, + FUN.VALUE = "character", + FUN = switch, + "n" = "n", + "prop" = "(%)" + ), + collapse = " | " + ) + + colhead_1_within <- paste(sgroup, collapse = " |") + colhead_2_within <- paste(rep(tgroup, n_sgroup), collapse = " | ") + colhead_3_within <- paste(rep(colhead_within, n_sgroup * n_tgroup), collapse = " | ") + + colborder_within <- vapply( + X = col_tbl_within, + FUN.VALUE = "character", + FUN = switch, + "n" = "single", + "prop" = "", + USE.NAMES = FALSE + ) + + rwidth_3_within <- rep(1, length(col_tbl_within) * n_sgroup * n_tgroup) + + rwidth_2_within <- tapply( + rwidth_3_within, + c(rep(1:(n_sgroup * n_tgroup), each = length(col_tbl_within))), + sum + ) + names(rwidth_2_within) <- NULL + + rwidth_1_within <- tapply( + rwidth_3_within, + c(rep(1:n_sgroup, each = length(col_tbl_within) * n_tgroup)), + sum + ) + names(rwidth_1_within) <- NULL + + + colborder_within <- rep(colborder_within, n_sgroup * n_tgroup) + + # Column headers + + colheader <- c( + paste0(" | ", colhead_1_within), + paste0(" | ", colhead_2_within), + paste0(" | ", colhead_3_within) + ) + + # Relative width + + if (is.null(col_rel_width)) { + rwidth_1 <- c(2, rwidth_1_within) + rwidth_2 <- c(2, rwidth_2_within) + rwidth_3 <- c(2, rwidth_3_within) + } else { + rwidth_3 <- col_rel_width + + rwidth_2 <- tapply( + col_rel_width[2:length(col_rel_width)], + c(rep(1:(n_sgroup * n_tgroup), each = length(col_tbl_within))), + sum + ) + + rwidth_2 <- c( + rwidth_3[1], + rwidth_2 + ) + + + rwidth_1 <- tapply( + col_rel_width[2:length(col_rel_width)], + c(rep(1:n_sgroup, each = length(col_tbl_within) * n_tgroup)), + sum + ) + + rwidth_1 <- c( + rwidth_3[1], + rwidth_1 + ) + } + + if ((sum(rwidth_1) != sum(rwidth_2)) || (sum(rwidth_1) != sum(rwidth_3))) { + stop("Width calculation breaks, contact developer.") + } + + # Column border + border_top2 <- c("", rep("single", n_sgroup * n_tgroup)) + border_top3 <- c("", rep("single", n_sgroup * n_tgroup * 2)) + + border_left2 <- c("single", rep("single", n_sgroup * n_tgroup)) + border_left3 <- c("single", colborder_within) + border_left4 <- c(rep("single",2), colborder_within) + + # Using order number to customize row format + + text_justification <- c("l", rep("l", n_sgroup * n_tgroup * 2)) + #text_format <- c(rep("", 1 + n_sgroup * n_tgroup * 2), "b") + + text_indent <- matrix(0, nrow = n_row, ncol = n_col) + text_indent[, 1] <- ifelse(FALSE, 0, 100) + text_indent[1, 1] <- 0 + + # Using r2rtf + outdata$rtf <- tbl1 |> + r2rtf::rtf_page(orientation = orientation) |> + r2rtf::rtf_title(title) |> + r2rtf::rtf_colheader( + colheader = colheader[1], + col_rel_width = rwidth_1, + text_font_size = text_font_size) |> + r2rtf::rtf_colheader( + colheader = colheader[2], + border_top = border_top2, + border_left = border_left2, + col_rel_width = rwidth_2, + text_font_size = text_font_size + ) |> + r2rtf::rtf_colheader( + colheader = colheader[3], + border_top = border_top3, + border_left = border_left3, + col_rel_width = rwidth_3, + text_font_size = text_font_size + ) |> + r2rtf::rtf_body( + page_by = "var_label", + col_rel_width = c(rwidth_3,1), + border_left = border_left4, + text_justification = text_justification, + text_indent_first = text_indent, + text_indent_left = text_indent, + #text_format = text_format, + text_font_size = text_font_size + ) + + if (!is.null(footnotes)) { + outdata$rtf <- outdata$rtf |> + r2rtf::rtf_footnote(footnotes, + text_font_size = text_font_size + ) + } + + if (!is.null(source)) { + outdata$rtf <- outdata$rtf |> + r2rtf::rtf_source(source, + text_font_size = text_font_size + ) + } + + # Prepare output + rtf_output(outdata, path_outdata, path_outtable) + + to_pdf( + path_outtable, + output = gsub("\\.[[:alnum:]]+$", ".pdf", path_outtable), + timeout = 120, + UserInstallation = NULL + ) +} \ No newline at end of file diff --git a/man/format_base_char_subgroup.Rd b/man/format_base_char_subgroup.Rd new file mode 100644 index 0000000..96c5ac1 --- /dev/null +++ b/man/format_base_char_subgroup.Rd @@ -0,0 +1,42 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/format_base_char_subgroup.R +\name{format_base_char_subgroup} +\alias{format_base_char_subgroup} +\title{Prepare data for Subgroup Analysis for Baseline Characteristic} +\usage{ +format_base_char_subgroup( + outdata, + display = c("n", "prop", "total"), + display_stat = c("mean", "sd", "median", "range") +) +} +\arguments{ +\item{outdata}{A metadata object created by \code{\link[=prepare_base_char_subgroup]{prepare_base_char_subgroup()}}.} + +\item{display}{Column wants to display on the table. +The term could be selected from \code{c("n", "prop", "total")}.} + +\item{display_stat}{A vector of statistics term name. +The term name could be selected from +\code{c("mean", "sd", "se", "median", "q1 to q3", "range", "q1", "q3", "min", "max")}.} +} +\value{ +A list of analysis raw datasets. +} +\description{ +Prepare data for Subgroup Analysis for Baseline Characteristic +} +\examples{ +#' meta <- meta_sl_example() + +outdata <- prepare_base_char_subgroup( + meta, + population = "apat", + parameter = "age", + subgroup_var = "TRTA", + subgroup_header = c("SEX","TRTA"), + display_subgroup_total = TRUE +) + +outdata |> format_base_char_subgroup() +} diff --git a/man/prepare_base_char_subgroup.Rd b/man/prepare_base_char_subgroup.Rd new file mode 100644 index 0000000..ef749a5 --- /dev/null +++ b/man/prepare_base_char_subgroup.Rd @@ -0,0 +1,53 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prepare_base_char_subgroup.R +\name{prepare_base_char_subgroup} +\alias{prepare_base_char_subgroup} +\title{Prepare data for treatment compliance table} +\usage{ +prepare_base_char_subgroup( + meta, + population, + analysis = "base_char_subgroup", + parameter, + subgroup_var, + subgroup_header = c(meta$population[[population]]$group, subgroup_var), + display_subgroup_total = TRUE +) +} +\arguments{ +\item{meta}{A metadata object created by metalite.} + +\item{population}{A character value of population term name. +The term name is used as key to link information.} + +\item{analysis}{A character value of analysis term name. +The term name is used as key to link information.} + +\item{parameter}{A character value of parameter term name. +The term name is used as key to link information.} + +\item{subgroup_var}{A character value of subgroup variable name in +observation data saved in \code{meta$data_observation}.} + +\item{subgroup_header}{A character vector for column header hierarchy. +The first element will be the first level header and the second element +will be second level header.} + +\item{display_subgroup_total}{A logic value of displaying the total group.} +} +\value{ +A list of analysis raw datasets. +} +\description{ +Prepare data for treatment compliance table +} +\examples{ +#' meta <- meta_sl_example() +outdata <- prepare_base_char_subgroup( + meta, + population = "apat", + parameter = "age", + subgroup_var = "TRTA", + subgroup_header = c("SEX","TRTA"), + display_subgroup_total = TRUE) +} diff --git a/man/rtf_base_char_subgroup.Rd b/man/rtf_base_char_subgroup.Rd new file mode 100644 index 0000000..d2cac9d --- /dev/null +++ b/man/rtf_base_char_subgroup.Rd @@ -0,0 +1,66 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/rtf_base_char_subgroup.R +\name{rtf_base_char_subgroup} +\alias{rtf_base_char_subgroup} +\title{Subgroup Analysis for Baseline Characteristic} +\usage{ +rtf_base_char_subgroup( + outdata, + source, + col_rel_width = NULL, + text_font_size = 8, + orientation = "landscape", + footnotes = NULL, + title = NULL, + path_outdata = NULL, + path_outtable = NULL +) +} +\arguments{ +\item{outdata}{An \code{outdata} object created by \code{\link[=prepare_base_char_subgroup]{prepare_base_char_subgroup()}}} + +\item{source}{A character value of the data source.} + +\item{col_rel_width}{Column relative width in a vector e.g. c(2,1,1) refers to 2:1:1. +Default is NULL for equal column width.} + +\item{text_font_size}{Text font size. To vary text font size by column, use +numeric vector with length of vector equal to number of columns +displayed e.g. c(9,20,40).} + +\item{orientation}{Orientation in 'portrait' or 'landscape'.} + +\item{footnotes}{A character vector of table footnotes.} + +\item{title}{Term "analysis", "observation" and "population") for collecting title from metadata or a character vector of table titles.} + +\item{path_outdata}{A character string of the outdata path.} + +\item{path_outtable}{A character string of the outtable path.} +} +\value{ +RTF file and source dataset for baseline characteristic table. +} +\description{ +Subgroup Analysis for Baseline Characteristic +} +\examples{ +meta <- meta_sl_example() + +outdata <- prepare_base_char_subgroup( + meta, + population = "apat", + parameter = "age", + subgroup_var = "TRTA", + subgroup_header = c("SEX","TRTA"), + display_subgroup_total = TRUE +) + +outdata |> + format_base_char_subgroup() |> + rtf_base_char_subgroup( + source = "Source: [CDISCpilot: adam-adsl]", + path_outtable = "outtable/bar0char0subgroup.rtf" + ) + +} diff --git a/vignettes/metalite-sl-subgroup.Rmd b/vignettes/metalite-sl-subgroup.Rmd new file mode 100644 index 0000000..71c6d98 --- /dev/null +++ b/vignettes/metalite-sl-subgroup.Rmd @@ -0,0 +1,110 @@ +--- +title: "Subgroup Analysis for Baseline Characteristic" +output: rmarkdown::html_vignette +date: "2024-07-01" +vignette: > + %\VignetteEngine{knitr::rmarkdown} + %\VignetteIndexEntry{Subgroup Analysis for Baseline Characteristic} + %\VignetteEncoding{UTF-8} + +--- + +```{r, include=FALSE} +knitr::opts_chunk$set( + comment = "#>", + collapse = TRUE, + out.width = "100%", + dpi = 150 +) +``` + +```{r} +devtools::load_all() +library(metalite) +library(metalite.sl) +library(doconv) +``` + +## Overview + +The baseline characteristic subgroup analysis aims to provide tables to summarize details of participants by subgroup. +The development of baseline characteristic subgroup analysis involves functions: + +- `prepare_base_char_subgroup()`: prepare analysis raw datasets. +- `format_base_char_subgroup()`: prepare analysis (mock) outdata with proper format. +- `rtf_base_char_subgroup()`: transfer (mock) output dataset to RTF table. + +### Analysis preparation + +The `prepare_base_char_subgroup()` function is designed to be used for multiple purposes. +The input of the function is a `meta` object created by the metalite package. + +```{r} +meta <- meta_sl_example() +``` + +The output of the function is an `outdata` object containing a list of analysis +raw datasets. Key arguments are: + +- `subgroup_var`: a character value of subgroup variable name in observation data saved in meta$data_observation. +- `subgroup_header`: a character vector for column header hierarchy. The first element will be the first level header and the second element will be second level header. + +```{r} +outdata <- prepare_base_char_subgroup( + meta, + population = "apat", + parameter = "age", + subgroup_var = "TRTA", + subgroup_header = c("SEX","TRTA"), + display_subgroup_total = TRUE +) +``` + +The output dataset contains commonly used statistics within each `subgroup_var`. + +```{r} +outdata$out_all$`Placebo` +outdata$out_all$`High Dose` +outdata$out_all$`Low Dose` +``` + + +The information about subgroup saved with `outdata$group` and `outdata$subgroup`. + +```{r} +outdata$group +outdata$subgroup +``` + +`n_pop`: participants in population within each `subgroup_var`. + +```{r} +outdata$out_all$`Placebo`$n +outdata$out_all$`High Dose`$n +outdata$out_all$`Low Dose`$n +``` + +### Format output + +`format_base_char_subgroup` to prepare analysis dataset before generate RTF output + +```{r} +tbl <- format_base_char_subgroup(outdata) +head(tbl$tbl) +``` + +### RTF output +`rtf_base_char_subgroup` to generate RTF output + +```{r warning=FALSE} +outdata |> + format_base_char_subgroup() |> + rtf_base_char_subgroup( + source = "Source: [CDISCpilot: adam-adsl]", + path_outtable = "outtable/bar0char0subgroup.rtf" + ) +``` + +```{r, out.width = "100%", out.height = "400px", echo = FALSE, fig.align = "center"} +knitr::include_graphics("outtable/bar0char0subgroup.pdf") +``` \ No newline at end of file diff --git a/vignettes/outtable/bar0char0subgroup.pdf b/vignettes/outtable/bar0char0subgroup.pdf new file mode 100644 index 0000000000000000000000000000000000000000..922f7ab3aba7802b4a23644f4f9a693be3f64325 GIT binary patch literal 34818 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 BiKYMm literal 0 HcmV?d00001 diff --git a/vignettes/outtable/bar0char0subgroup.rtf b/vignettes/outtable/bar0char0subgroup.rtf new file mode 100644 index 0000000..31b2758 --- /dev/null +++ b/vignettes/outtable/bar0char0subgroup.rtf @@ -0,0 +1,505 @@ +{\rtf1\ansi +\deff0\deflang1033 +{\fonttbl{\f0\froman\fcharset161\fprq2 Times New Roman;} +{\f1\froman\fcharset161\fprq2 Times New Roman Greek;} +{\f2\fswiss\fcharset161\fprq2 Arial Greek;} +{\f3\fswiss\fcharset161\fprq2 Arial;} +{\f4\fswiss\fcharset161\fprq2 Helvetica;} +{\f5\fswiss\fcharset161\fprq2 Calibri;} +{\f6\froman\fcharset161\fprq2 Georgia;} +{\f7\ffroman\fcharset161\fprq2 Cambria;} +{\f8\fmodern\fcharset161\fprq2 Courier New;} +{\f9\ftech\fcharset161\fprq2 Symbol;} +} + + +\paperw15840\paperh12240\landscape + +\margl1440\margr1440\margt2880\margb1800\headery1800\footery1800 + +{\pard\hyphpar\sb180\sa180\fi0\li0\ri0\qc\fs24{\f0 Participant by Age Category and Sex}\line\fs24{\f0 All Participants as Treated}\par} + + +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrdb\brdrw15\clbrdrb\brdrw15\clvertalb\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrdb\brdrw15\clbrdrb\brdrw15\clvertalb\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrdb\brdrw15\clbrdrb\brdrw15\clvertalb\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrdb\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Placebo}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Low Dose}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 High Dose}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalb\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Female}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Male}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Total}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Female}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Male}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Total}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Female}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Male}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Total}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalb\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalb\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 n}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 (%)}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 Participants in population}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 53}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 33}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 86}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 50}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 34}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 84}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 40}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 44}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 84}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrs\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 Age (years)}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 <65}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 9}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (17.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (15.2)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 14}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (16.3)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (10.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 3}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (8.8)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (9.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (12.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 6}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (13.6)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 11}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (13.1)}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 >80}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 22}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (41.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (24.2)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 30}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (34.9)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 17}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (34.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 12}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (35.3)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 29}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (34.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (17.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 11}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (25.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 18}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (21.4)}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 65-80}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 22}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (41.5)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 20}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (60.6)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 42}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (48.8)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 28}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (56.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 19}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (55.9)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 47}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (56.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 28}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (70.0)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 27}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (61.4)}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 55}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 (65.5)}\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 Mean}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 76.4}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 73.4}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 75.2}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 75.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 75.6}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 75.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 74.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 74.1}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 74.4}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 SD}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.1}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.6}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.1}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.3}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 7.7}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 8.2}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 7.9}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 Median}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 78.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 74.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 76.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 77.5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 77.5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 77.5}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 76.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 77.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 76.0}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 Range}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 59 to 89}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 52 to 85}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 52 to 89}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 54 to 87}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 51 to 88}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 51 to 88}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 56 to 88}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 56 to 86}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 56 to 88}\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx1224 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx1836 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx2448 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx3060 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx3672 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx4284 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx4896 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx5508 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx6120 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx6732 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx7344 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx7956 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx8568 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx9180 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx9792 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx10404 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx11016 +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx11628 +\clbrdrl\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrs\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi100\li100\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 }\cell +\intbl\row\pard +\trowd\trgaph108\trleft0\trqc +\clbrdrl\brdrs\brdrw15\clbrdrt\brdrw15\clbrdrr\brdrs\brdrw15\clbrdrb\brdrdb\brdrw15\clvertalt\cellx12240 +\pard\hyphpar0\sb15\sa15\fi0\li0\ri0\ql\fs16{\f0 SD=Standard deviation.}\cell +\intbl\row\pard +{\pard\hyphpar\sb15\sa15\fi0\li0\ri0\qc\fs16{\f0 Source: [CDISCpilot: adam-adsl]}\par} + +} From dc8aeb3cdde6d5e4c044051d74c3675e67bbef98 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 13:41:25 -0400 Subject: [PATCH 2/8] Update for check --- R/rtf_base_char_subgroup.R | 12 ++++++------ vignettes/metalite-sl-subgroup.Rmd | 2 -- vignettes/outtable/bar0char0subgroup.pdf | Bin 34818 -> 34818 bytes 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/R/rtf_base_char_subgroup.R b/R/rtf_base_char_subgroup.R index f06916e..782a5d8 100644 --- a/R/rtf_base_char_subgroup.R +++ b/R/rtf_base_char_subgroup.R @@ -280,10 +280,10 @@ rtf_base_char_subgroup <- function( # Prepare output rtf_output(outdata, path_outdata, path_outtable) - to_pdf( - path_outtable, - output = gsub("\\.[[:alnum:]]+$", ".pdf", path_outtable), - timeout = 120, - UserInstallation = NULL - ) + #to_pdf( + # path_outtable, + # output = gsub("\\.[[:alnum:]]+$", ".pdf", path_outtable), + # timeout = 120, + # UserInstallation = NULL + #) } \ No newline at end of file diff --git a/vignettes/metalite-sl-subgroup.Rmd b/vignettes/metalite-sl-subgroup.Rmd index 71c6d98..f5f1a3c 100644 --- a/vignettes/metalite-sl-subgroup.Rmd +++ b/vignettes/metalite-sl-subgroup.Rmd @@ -19,10 +19,8 @@ knitr::opts_chunk$set( ``` ```{r} -devtools::load_all() library(metalite) library(metalite.sl) -library(doconv) ``` ## Overview diff --git a/vignettes/outtable/bar0char0subgroup.pdf b/vignettes/outtable/bar0char0subgroup.pdf index 922f7ab3aba7802b4a23644f4f9a693be3f64325..ae7995440d7e88b345a4964fa6c6ad2ad589cb5f 100644 GIT binary patch delta 163 zcmZpgz|=H>X#;y3i?NB3*=FvxOvZY1XJZ31GczMgV?#qDLo-unb2AHP14koMBUdw1 zHv>B^8%sh;6k@sbUGkHiGg6bYi%WAA^o^WNon0&pj9g5NEsTvVjSVba94#%(os3i%Ker_*2ukj7^MX#;y3i-EDJ(Pr+pOvZXMXID#0HzPM^6H^02Gjk^=BNJD1CleP(Lq}I5 zQzttv8%sh;6k@sbUGkHiGg6bYi%WAA^oi%Ker_*2ukj7^M Date: Mon, 8 Jul 2024 13:46:23 -0400 Subject: [PATCH 3/8] Update for Commit --- R/format_base_char_subgroup.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/format_base_char_subgroup.R b/R/format_base_char_subgroup.R index 9b0d9dd..5f253d0 100644 --- a/R/format_base_char_subgroup.R +++ b/R/format_base_char_subgroup.R @@ -91,7 +91,7 @@ format_base_char_subgroup <- function( # tbl <- tbl[, -which(names(tbl) %in% rm_tot)] #} - outdata$tbl <- tbl %>% dplyr::arrange(order) + outdata$tbl <- tbl |> dplyr::arrange(order) outdata$display <- display outdata$display_stat <- display_stat outdata From 56e4c8cbedf75056180bfc43a4a0c663080a5086 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 13:50:53 -0400 Subject: [PATCH 4/8] Update for check --- R/format_base_char_subgroup.R | 2 +- R/prepare_base_char_subgroup.R | 2 +- man/format_base_char_subgroup.Rd | 2 +- man/prepare_base_char_subgroup.Rd | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/format_base_char_subgroup.R b/R/format_base_char_subgroup.R index 5f253d0..765f6da 100644 --- a/R/format_base_char_subgroup.R +++ b/R/format_base_char_subgroup.R @@ -29,7 +29,7 @@ #' @export #' #' @examples -#' #' meta <- meta_sl_example() +#' meta <- meta_sl_example() #' #' outdata <- prepare_base_char_subgroup( #' meta, diff --git a/R/prepare_base_char_subgroup.R b/R/prepare_base_char_subgroup.R index 1a92d48..1442bdd 100644 --- a/R/prepare_base_char_subgroup.R +++ b/R/prepare_base_char_subgroup.R @@ -36,7 +36,7 @@ #' @export #' #' @examples -#' #' meta <- meta_sl_example() +#' meta <- meta_sl_example() #' outdata <- prepare_base_char_subgroup( #' meta, #' population = "apat", diff --git a/man/format_base_char_subgroup.Rd b/man/format_base_char_subgroup.Rd index 96c5ac1..34a34e8 100644 --- a/man/format_base_char_subgroup.Rd +++ b/man/format_base_char_subgroup.Rd @@ -27,7 +27,7 @@ A list of analysis raw datasets. Prepare data for Subgroup Analysis for Baseline Characteristic } \examples{ -#' meta <- meta_sl_example() +meta <- meta_sl_example() outdata <- prepare_base_char_subgroup( meta, diff --git a/man/prepare_base_char_subgroup.Rd b/man/prepare_base_char_subgroup.Rd index ef749a5..c7096c5 100644 --- a/man/prepare_base_char_subgroup.Rd +++ b/man/prepare_base_char_subgroup.Rd @@ -42,7 +42,7 @@ A list of analysis raw datasets. Prepare data for treatment compliance table } \examples{ -#' meta <- meta_sl_example() +meta <- meta_sl_example() outdata <- prepare_base_char_subgroup( meta, population = "apat", From 244e07dc62e1d9bfe06b1d2c3af893d1f1ed0ebd Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 13:54:52 -0400 Subject: [PATCH 5/8] minor update --- R/prepare_base_char_subgroup.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/prepare_base_char_subgroup.R b/R/prepare_base_char_subgroup.R index 1442bdd..b8bd609 100644 --- a/R/prepare_base_char_subgroup.R +++ b/R/prepare_base_char_subgroup.R @@ -83,7 +83,7 @@ prepare_base_char_subgroup <- function( meta$population[[population]]$group <- subgroup_header[1] # Obtain variables - par_var <- collect_adam_mapping(meta, parameter)$var + par_var <- metalite::collect_adam_mapping(meta, parameter)$var meta_subgroup <- metalite::meta_split(meta, subgroup_header[2]) From 257d490249213b2482e300a8cdbe970469dcfd1a Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 13:59:31 -0400 Subject: [PATCH 6/8] Minor change --- vignettes/metalite-sl-subgroup.Rmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vignettes/metalite-sl-subgroup.Rmd b/vignettes/metalite-sl-subgroup.Rmd index f5f1a3c..80071ca 100644 --- a/vignettes/metalite-sl-subgroup.Rmd +++ b/vignettes/metalite-sl-subgroup.Rmd @@ -99,7 +99,8 @@ outdata |> format_base_char_subgroup() |> rtf_base_char_subgroup( source = "Source: [CDISCpilot: adam-adsl]", - path_outtable = "outtable/bar0char0subgroup.rtf" + path_outdata = tempfile(fileext = ".Rdata"), + path_outtable = tempfile(fileext = ".rtf") ) ``` From bcc2dcd1a360522f2117ba5434a76ce5b3ef496a Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 14:03:12 -0400 Subject: [PATCH 7/8] Update for Check --- R/rtf_base_char_subgroup.R | 3 ++- man/rtf_base_char_subgroup.Rd | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/R/rtf_base_char_subgroup.R b/R/rtf_base_char_subgroup.R index 782a5d8..cbd9856 100644 --- a/R/rtf_base_char_subgroup.R +++ b/R/rtf_base_char_subgroup.R @@ -46,7 +46,8 @@ #' format_base_char_subgroup() |> #' rtf_base_char_subgroup( #' source = "Source: [CDISCpilot: adam-adsl]", -#' path_outtable = "outtable/bar0char0subgroup.rtf" +#' path_outdata = tempfile(fileext = ".Rdata"), +#' path_outtable = tempfile(fileext = ".rtf") #' ) #' rtf_base_char_subgroup <- function( diff --git a/man/rtf_base_char_subgroup.Rd b/man/rtf_base_char_subgroup.Rd index d2cac9d..0b50cdf 100644 --- a/man/rtf_base_char_subgroup.Rd +++ b/man/rtf_base_char_subgroup.Rd @@ -60,7 +60,8 @@ outdata |> format_base_char_subgroup() |> rtf_base_char_subgroup( source = "Source: [CDISCpilot: adam-adsl]", - path_outtable = "outtable/bar0char0subgroup.rtf" + path_outdata = tempfile(fileext = ".Rdata"), + path_outtable = tempfile(fileext = ".rtf") ) } From d935cb3a50790c681b48495bab7bd3ed53b66530 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 8 Jul 2024 14:07:46 -0400 Subject: [PATCH 8/8] Update for Check --- vignettes/metalite-sl.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/metalite-sl.Rmd b/vignettes/metalite-sl.Rmd index d0c2964..c2850eb 100644 --- a/vignettes/metalite-sl.Rmd +++ b/vignettes/metalite-sl.Rmd @@ -190,7 +190,7 @@ outdata <- meta |> outdata ``` -```{r} +```{r, eval=FALSE} outdata |> format_disposition() |> rtf_disposition(