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..765f6da
--- /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 eb1dc2e..2fba5da 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"),
@@ -61,6 +65,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(
@@ -131,6 +139,11 @@ 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..b8bd609
--- /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 <- metalite::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..cbd9856
--- /dev/null
+++ b/R/rtf_base_char_subgroup.R
@@ -0,0 +1,290 @@
+# 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_outdata = tempfile(fileext = ".Rdata"),
+#' path_outtable = tempfile(fileext = ".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..34a34e8
--- /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..c7096c5
--- /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..0b50cdf
--- /dev/null
+++ b/man/rtf_base_char_subgroup.Rd
@@ -0,0 +1,67 @@
+% 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_outdata = tempfile(fileext = ".Rdata"),
+ path_outtable = tempfile(fileext = ".rtf")
+ )
+
+}
diff --git a/vignettes/metalite-sl-subgroup.Rmd b/vignettes/metalite-sl-subgroup.Rmd
new file mode 100644
index 0000000..80071ca
--- /dev/null
+++ b/vignettes/metalite-sl-subgroup.Rmd
@@ -0,0 +1,109 @@
+---
+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}
+library(metalite)
+library(metalite.sl)
+```
+
+## 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_outdata = tempfile(fileext = ".Rdata"),
+ path_outtable = tempfile(fileext = ".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/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(
diff --git a/vignettes/outtable/bar0char0subgroup.pdf b/vignettes/outtable/bar0char0subgroup.pdf
new file mode 100644
index 0000000..ae79954
Binary files /dev/null and b/vignettes/outtable/bar0char0subgroup.pdf differ
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}
+
+}