Skip to contents

Introduction

Data quality assessment is fundamental to reliable clinical research. This vignette demonstrates essential data exploration and quality assessment techniques using ClinicoPathDescriptives.

Basic Setup

library(ClinicoPath)
library(dplyr)
library(tidyr)
library(ggplot2)
library(knitr)

# Load the dataset
data(histopathology)

# Initial data overview
cat("Dataset Dimensions:", dim(histopathology), "\n")
#> Dataset Dimensions: 250 38
cat("Variables:", ncol(histopathology), "\n")
#> Variables: 38
cat("Observations:", nrow(histopathology), "\n\n")
#> Observations: 250

Phase 1: Completeness Assessment

Missing Data Analysis

# Calculate missing data percentages
missing_summary <- histopathology %>%
  summarise_all(~sum(is.na(.))) %>%
  pivot_longer(everything(), names_to = "Variable", values_to = "Missing_Count") %>%
  mutate(
    Missing_Percentage = round(Missing_Count / nrow(histopathology) * 100, 1),
    Data_Quality = case_when(
      Missing_Percentage == 0 ~ "Complete",
      Missing_Percentage <= 5 ~ "Excellent", 
      Missing_Percentage <= 10 ~ "Good",
      Missing_Percentage <= 20 ~ "Acceptable",
      TRUE ~ "Poor"
    )
  ) %>%
  arrange(desc(Missing_Percentage))

# Display missing data summary
kable(missing_summary %>% filter(Missing_Count > 0),
      caption = "Missing Data Summary",
      col.names = c("Variable", "Missing Count", "Missing %", "Quality Rating"))
Missing Data Summary
Variable Missing Count Missing % Quality Rating
OverallTime 2 0.8 Excellent
Name 1 0.4 Excellent
Sex 1 0.4 Excellent
Age 1 0.4 Excellent
Race 1 0.4 Excellent
PreinvasiveComponent 1 0.4 Excellent
LVI 1 0.4 Excellent
PNI 1 0.4 Excellent
LastFollowUpDate 1 0.4 Excellent
Death 1 0.4 Excellent
Group 1 0.4 Excellent
Grade 1 0.4 Excellent
TStage 1 0.4 Excellent
Anti-X-intensity 1 0.4 Excellent
Anti-Y-intensity 1 0.4 Excellent
LymphNodeMetastasis 1 0.4 Excellent
Valid 1 0.4 Excellent
Smoker 1 0.4 Excellent
Grade_Level 1 0.4 Excellent
SurgeryDate 1 0.4 Excellent
Outcome 1 0.4 Excellent
Mortality5yr 1 0.4 Excellent
Rater 1 1 0.4 Excellent

Phase 2: Distribution Assessment

Continuous Variables Analysis

# Analyze distributions of continuous variables
continuous_vars <- c("Age", "OverallTime", "MeasurementA", "MeasurementB")

# Basic summary statistics
summary(histopathology[continuous_vars])
#>       Age         OverallTime     MeasurementA       MeasurementB    
#>  Min.   :25.00   Min.   : 2.90   Min.   :-2.49830   Min.   :-0.7433  
#>  1st Qu.:38.00   1st Qu.: 7.10   1st Qu.:-0.52699   1st Qu.: 0.6105  
#>  Median :49.00   Median :10.15   Median : 0.09627   Median : 0.9788  
#>  Mean   :49.44   Mean   :16.52   Mean   : 0.07203   Mean   : 0.9668  
#>  3rd Qu.:62.00   3rd Qu.:23.60   3rd Qu.: 0.68241   3rd Qu.: 1.3542  
#>  Max.   :73.00   Max.   :58.20   Max.   : 2.29156   Max.   : 2.5662  
#>  NA's   :1       NA's   :2

# Check for normality and distribution patterns
cat("\nDistribution Assessment:\n")
#> 
#> Distribution Assessment:
for(var in continuous_vars) {
  if(var %in% names(histopathology)) {
    cat(paste(var, "- Mean:", round(mean(histopathology[[var]], na.rm = TRUE), 2), 
              "SD:", round(sd(histopathology[[var]], na.rm = TRUE), 2), "\n"))
  }
}
#> Age - Mean: 49.44 SD: 13.81 
#> OverallTime - Mean: 16.53 SD: 13.5 
#> MeasurementA - Mean: 0.07 SD: 0.87 
#> MeasurementB - Mean: 0.97 SD: 0.56

Categorical Variables Analysis

# Analyze categorical variable distributions
categorical_vars <- c("Sex", "Grade", "TStage", "Group", "LVI", "PNI")

# Basic frequency tables for categorical variables
cat("Categorical Variables Distribution:\n\n")
#> Categorical Variables Distribution:
for(var in categorical_vars) {
  if(var %in% names(histopathology)) {
    cat(paste("==", var, "==\n"))
    print(table(histopathology[[var]], useNA = "ifany"))
    cat("\n")
  }
}
#> == Sex ==
#> 
#> Female   Male   <NA> 
#>    121    128      1 
#> 
#> == Grade ==
#> 
#>    1    2    3 <NA> 
#>   74   76   99    1 
#> 
#> == TStage ==
#> 
#>    1    2    3    4 <NA> 
#>   24   51   63  111    1 
#> 
#> == Group ==
#> 
#>   Control Treatment      <NA> 
#>       120       129         1 
#> 
#> == LVI ==
#> 
#>  Absent Present    <NA> 
#>     143     106       1 
#> 
#> == PNI ==
#> 
#>  Absent Present    <NA> 
#>     166      83       1

Phase 3: Quality Assessment with ClinicoPath Functions

Cross-tabulation Analysis

# Example of proper crosstable usage
crosstable(
  data = histopathology,
  vars = c("Grade", "TStage"),
  group = "Group"
)
#> 
#>  CROSS TABLE
#> 
#> character(0)
#> 
#> character(0)
#> 
#>  <div class="figure" id="tbl3">
#>  #tbl3 body .figbody {
#>  font-family: Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida
#>  Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans",
#>  Verdana, "Verdana Ref", sans-serif;
#>  font-size: 66%;
#>  -webkit-print-color-adjust: exact;
#>  }
#> 
#>  #tbl3 .figure { margin-left: auto;
#>  margin-right: auto;
#>  }
#>  #tbl3 .caption { text-align: left;
#>  text-indent: 2em;
#>  padding: 0.5em 0 0.5em 0;
#>  font-weight: bold;
#>  background-color: #f7f4ef !important;
#>  border: 1px solid black;
#>  }
#> 
#>  #tbl3 .figbody {
#>  text-align: center;
#>  border: 1px solid black
#>  }
#> 
#>  #tbl3 .figbody table {
#>  margin: 0;
#>  width: 100%;
#>  }
#> 
#>  #tbl3 .figbody td {
#>  padding: 0.2em 0.5em 0.2em 0.5em;
#>  }
#> 
#>  #tbl3 .figbody thead tr td
#>  {
#>  font-weight: bold;
#>  }
#> 
#>  #tbl3 .figbody tbody tr:nth-child(odd) {background: #fffbed
#>  !important;}
#> 
#>  #tbl3 .header td {text-align: center;}
#> 
#>  #tbl3 .subheader { font-size: smaller; }
#>  #tbl3 .subheader td { text-align: center; /* border-bottom: 1pt solid
#>  black; */ }
#> 
#>  #tbl3 .subheader em {font-style: normal;}
#> 
#>  #tbl3 tbody .variable {
#>  float: left;
#>  text-align: left;
#>  padding-left: 0.5em;
#>  }
#> 
#>  #tbl3 .units {
#>  float: right;
#>  font-size: x-small;
#>  text-align: right;
#>  padding-left: 1em;
#>  vertical-align: text-bottom; /* FIXME why doesn't this work */
#>  }
#> 
#>  #tbl3 td .align{
#>  display: inline-block;
#>  margin: 0 auto;
#>  }
#> 
#>  #tbl3 .nobr {
#>  white-space: nowrap;
#>  }
#>  #tbl3 .supsub {
#>  display: inline-block;
#>  margin: -9em 0;
#>  vertical-align: -0.55em;
#>  line-height: 1.35em;
#>  font-size: 70%;
#>  text-align: left;
#>  }
#> 
#>  #tbl3 .statistics {font-style: italic;}
#>  #tbl3 .statistics {padding-right: 0.5em;}
#>  <div class="caption">Cross Table for Dependent group<div
#>  class="figbody"><table class="tangram">
#>  <th class="header even tg-label"><span class="variable"><th
#>  class="header even tg-label"><span class="variable">N<th class="header
#>  even tg-label"><span class="variable">Control<th class="header even
#>  tg-label"><span class="variable">Treatment<th class="header even
#>  tg-label"><span class="variable">Test Statistic<tr
#>  class="subheaderrow"><th class="subheader header even tg-label"><span
#>  class="variable"><th class="subheader header even tg-label"><span
#>  class="variable"><th class="subheader header even data N"><span
#>  class="N">(N=120)<th class="subheader header even data N"><span
#>  class="N">(N=129)<th class="subheader header even tg-label"><span
#>  class="variable">
#>  <td class="header odd tg-label"><span class="variable">Grade<td
#>  class="odd data N"><span class="N">249<td class="odd">1.0 2.0 3.0<td
#>  class="odd">1.0 2.0 3.0<td class="statistics odd">F1,246=0.74, P=0.393
#>  <td class="header even tg-label"><span class="variable">TStage<td
#>  class="even data N"><span class="N">249<td class="even">2.0 3.0 4.0<td
#>  class="even">2.0 3.0 4.0<td class="statistics even">F1,246=0.03,
#>  P=0.863
#>  <div class="footnote">N is the number of non-missing value.
#>  1Kruskal-Wallis. 2Pearson. 3Wilcoxon.

Data Summary

# Example of proper summarydata usage
summarydata(
  data = histopathology,
  vars = c("Age", "OverallTime"),
  date_vars = character(0),
  grvar = "Group"
)
#> <div id="dfieexombw" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
#>   <style>@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
#> #dfieexombw table {
#>   font-family: Lato, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
#>   -webkit-font-smoothing: antialiased;
#>   -moz-osx-font-smoothing: grayscale;
#> }
#> 
#> #dfieexombw thead, #dfieexombw tbody, #dfieexombw tfoot, #dfieexombw tr, #dfieexombw td, #dfieexombw th {
#>   border-style: none;
#> }
#> 
#> #dfieexombw p {
#>   margin: 0;
#>   padding: 0;
#> }
#> 
#> #dfieexombw .gt_table {
#>   display: table;
#>   border-collapse: collapse;
#>   line-height: normal;
#>   margin-left: auto;
#>   margin-right: auto;
#>   color: #333333;
#>   font-size: 16px;
#>   font-weight: normal;
#>   font-style: normal;
#>   background-color: #FFFFFF;
#>   width: auto;
#>   border-top-style: solid;
#>   border-top-width: 3px;
#>   border-top-color: #FFFFFF;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #A8A8A8;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_caption {
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#> }
#> 
#> #dfieexombw .gt_title {
#>   color: #333333;
#>   font-size: 24px;
#>   font-weight: initial;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-color: #FFFFFF;
#>   border-bottom-width: 0;
#> }
#> 
#> #dfieexombw .gt_subtitle {
#>   color: #333333;
#>   font-size: 85%;
#>   font-weight: initial;
#>   padding-top: 3px;
#>   padding-bottom: 5px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-color: #FFFFFF;
#>   border-top-width: 0;
#> }
#> 
#> #dfieexombw .gt_heading {
#>   background-color: #FFFFFF;
#>   text-align: left;
#>   border-bottom-color: #FFFFFF;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_bottom_border {
#>   border-bottom-style: solid;
#>   border-bottom-width: 0px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_col_headings {
#>   border-top-style: solid;
#>   border-top-width: 0px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_col_heading {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 6px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   overflow-x: hidden;
#> }
#> 
#> #dfieexombw .gt_column_spanner_outer {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   padding-top: 0;
#>   padding-bottom: 0;
#>   padding-left: 4px;
#>   padding-right: 4px;
#> }
#> 
#> #dfieexombw .gt_column_spanner_outer:first-child {
#>   padding-left: 0;
#> }
#> 
#> #dfieexombw .gt_column_spanner_outer:last-child {
#>   padding-right: 0;
#> }
#> 
#> #dfieexombw .gt_column_spanner {
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 5px;
#>   overflow-x: hidden;
#>   display: inline-block;
#>   width: 100%;
#> }
#> 
#> #dfieexombw .gt_spanner_row {
#>   border-bottom-style: hidden;
#> }
#> 
#> #dfieexombw .gt_group_heading {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   text-align: left;
#> }
#> 
#> #dfieexombw .gt_empty_group_heading {
#>   padding: 0.5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: middle;
#> }
#> 
#> #dfieexombw .gt_from_md > :first-child {
#>   margin-top: 0;
#> }
#> 
#> #dfieexombw .gt_from_md > :last-child {
#>   margin-bottom: 0;
#> }
#> 
#> #dfieexombw .gt_row {
#>   padding-top: 7px;
#>   padding-bottom: 7px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   margin: 10px;
#>   border-top-style: solid;
#>   border-top-width: 1px;
#>   border-top-color: #F6F7F7;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   overflow-x: hidden;
#> }
#> 
#> #dfieexombw .gt_stub {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #dfieexombw .gt_stub_row_group {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: initial;
#>   text-transform: inherit;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   vertical-align: top;
#> }
#> 
#> #dfieexombw .gt_row_group_first td {
#>   border-top-width: 2px;
#> }
#> 
#> #dfieexombw .gt_row_group_first th {
#>   border-top-width: 2px;
#> }
#> 
#> #dfieexombw .gt_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #dfieexombw .gt_first_summary_row {
#>   border-top-style: solid;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_first_summary_row.thick {
#>   border-top-width: 2px;
#> }
#> 
#> #dfieexombw .gt_last_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_grand_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #dfieexombw .gt_first_grand_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-style: double;
#>   border-top-width: 6px;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_last_grand_summary_row_top {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: double;
#>   border-bottom-width: 6px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_striped {
#>   background-color: #FAFAFA;
#> }
#> 
#> #dfieexombw .gt_table_body {
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_footnotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_footnote {
#>   margin: 0px;
#>   font-size: 90%;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #dfieexombw .gt_sourcenotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #dfieexombw .gt_sourcenote {
#>   font-size: 12px;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #dfieexombw .gt_left {
#>   text-align: left;
#> }
#> 
#> #dfieexombw .gt_center {
#>   text-align: center;
#> }
#> 
#> #dfieexombw .gt_right {
#>   text-align: right;
#>   font-variant-numeric: tabular-nums;
#> }
#> 
#> #dfieexombw .gt_font_normal {
#>   font-weight: normal;
#> }
#> 
#> #dfieexombw .gt_font_bold {
#>   font-weight: bold;
#> }
#> 
#> #dfieexombw .gt_font_italic {
#>   font-style: italic;
#> }
#> 
#> #dfieexombw .gt_super {
#>   font-size: 65%;
#> }
#> 
#> #dfieexombw .gt_footnote_marks {
#>   font-size: 75%;
#>   vertical-align: 0.4em;
#>   position: initial;
#> }
#> 
#> #dfieexombw .gt_asterisk {
#>   font-size: 100%;
#>   vertical-align: 0;
#> }
#> 
#> #dfieexombw .gt_indent_1 {
#>   text-indent: 5px;
#> }
#> 
#> #dfieexombw .gt_indent_2 {
#>   text-indent: 10px;
#> }
#> 
#> #dfieexombw .gt_indent_3 {
#>   text-indent: 15px;
#> }
#> 
#> #dfieexombw .gt_indent_4 {
#>   text-indent: 20px;
#> }
#> 
#> #dfieexombw .gt_indent_5 {
#>   text-indent: 25px;
#> }
#> 
#> #dfieexombw .katex-display {
#>   display: inline-flex !important;
#>   margin-bottom: 0.75em !important;
#> }
#> 
#> #dfieexombw div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
#>   height: 0px !important;
#> }
#> </style>
#>   <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
#>   <thead>
#>     <tr class="gt_heading">
#>       <td colspan="7" class="gt_heading gt_title gt_font_normal" style>.</td>
#>     </tr>
#>     <tr class="gt_heading">
#>       <td colspan="7" class="gt_heading gt_subtitle gt_font_normal gt_bottom_border" style>250 rows x 3 cols</td>
#>     </tr>
#>     <tr class="gt_col_headings">
#>       <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="1" colspan="1" scope="col" id="type"></th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="1" colspan="1" scope="col" id="name">Column</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="value">Plot Overview</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="n_missing">Missing</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Mean">Mean</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Median">Median</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="SD">SD</th>
#>     </tr>
#>   </thead>
#>   <tbody class="gt_table_body">
#>     <tr><td headers="type" class="gt_row gt_left"><svg aria-hidden="true" role="img" viewBox="0 0 640 512" style="height:20px;width:25px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#f18e2c;overflow:visible;position:relative;"><path d="M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z"/></svg></td>
#> <td headers="name" class="gt_row gt_left" style="font-weight: bold;">Age</td>
#> <td headers="value" class="gt_row gt_center"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng=='>    <rect x='1.00' y='1.00' width='139.74' height='22.56' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng==)'><rect x='7.35' y='20.48' width='15.88' height='3.08' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='23.23' y='3.05' width='15.88' height='20.51' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='39.11' y='5.61' width='15.88' height='17.94' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='54.99' y='1.00' width='15.88' height='22.56' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='70.87' y='2.02' width='15.88' height='21.53' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='86.75' y='5.61' width='15.88' height='17.94' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='102.63' y='1.51' width='15.88' height='22.05' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='118.50' y='21.50' width='15.88' height='2.05' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><circle cx='18.68' cy='23.04' r='0.46' style='stroke-width: 0.71; stroke: none;' /><circle cx='18.68' cy='23.04' r='0.46' style='stroke-width: 0.71; stroke: none;' /><line x1='69.63' y1='23.56' x2='69.63' y2='1.00' style='stroke-width: 1.07; stroke-linecap: butt;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><polyline points='1.00,23.56 140.74,23.56 ' style='stroke-width: 0.75;' /><polyline points='19.68,26.39 19.68,23.56 ' style='stroke-width: 0.75;' /><polyline points='119.58,26.39 119.58,23.56 ' style='stroke-width: 0.75;' /><text x='19.68' y='33.36' text-anchor='middle' style='font-size: 6.00px; font-weight: 0; font-family: "Courier";' textLength='25.16px' lengthAdjust='spacingAndGlyphs'>25 auto</text><text x='119.58' y='33.36' text-anchor='middle' style='font-size: 6.00px; font-weight: 0; font-family: "Courier";' textLength='25.16px' lengthAdjust='spacingAndGlyphs'>73 auto</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right">0.4%</td>
#> <td headers="Mean" class="gt_row gt_right">49.4</td>
#> <td headers="Median" class="gt_row gt_right">49.0</td>
#> <td headers="SD" class="gt_row gt_right">13.8</td></tr>
#>     <tr><td headers="type" class="gt_row gt_left gt_striped"><svg aria-hidden="true" role="img" viewBox="0 0 640 512" style="height:20px;width:25px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#f18e2c;overflow:visible;position:relative;"><path d="M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z"/></svg></td>
#> <td headers="name" class="gt_row gt_left gt_striped" style="font-weight: bold;">OverallTime</td>
#> <td headers="value" class="gt_row gt_center gt_striped"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng=='>    <rect x='1.00' y='1.00' width='139.74' height='22.56' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng==)'><rect x='7.35' y='23.56' width='10.59' height='0.00' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='17.93' y='1.00' width='10.59' height='22.56' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='28.52' y='1.89' width='10.59' height='21.67' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='39.11' y='19.40' width='10.59' height='4.16' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='49.69' y='16.73' width='10.59' height='6.83' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='60.28' y='18.51' width='10.59' height='5.05' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='70.87' y='18.81' width='10.59' height='4.75' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='81.45' y='20.88' width='10.59' height='2.67' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='92.04' y='22.37' width='10.59' height='1.19' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='102.63' y='22.37' width='10.59' height='1.19' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='113.21' y='20.88' width='10.59' height='2.67' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><rect x='123.80' y='22.67' width='10.59' height='0.89' style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;' /><circle cx='17.37' cy='23.26' r='0.46' style='stroke-width: 0.71; stroke: none;' /><circle cx='17.37' cy='23.26' r='0.46' style='stroke-width: 0.71; stroke: none;' /><line x1='33.10' y1='23.56' x2='33.10' y2='1.00' style='stroke-width: 1.07; stroke-linecap: butt;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><polyline points='1.00,23.56 140.74,23.56 ' style='stroke-width: 0.75;' /><polyline points='18.49,26.39 18.49,23.56 ' style='stroke-width: 0.75;' /><polyline points='129.94,26.39 129.94,23.56 ' style='stroke-width: 0.75;' /><text x='18.49' y='33.36' text-anchor='middle' style='font-size: 6.00px; font-weight: 0; font-family: "Courier";' textLength='21.56px' lengthAdjust='spacingAndGlyphs'>3 auto</text><text x='129.94' y='33.36' text-anchor='middle' style='font-size: 6.00px; font-weight: 0; font-family: "Courier";' textLength='25.16px' lengthAdjust='spacingAndGlyphs'>58 auto</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right gt_striped">0.8%</td>
#> <td headers="Mean" class="gt_row gt_right gt_striped">16.5</td>
#> <td headers="Median" class="gt_row gt_right gt_striped">10.1</td>
#> <td headers="SD" class="gt_row gt_right gt_striped">13.5</td></tr>
#>     <tr><td headers="type" class="gt_row gt_left"><svg aria-hidden="true" role="img" viewBox="0 0 512 512" style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/></svg></td>
#> <td headers="name" class="gt_row gt_left" style="font-weight: bold;"><div style='max-width: 150px;'>
#>     <details style='font-weight: normal !important;'>
#>     <summary style='font-weight: bold !important;'>Group</summary>
#> Treatment and Control
#> </details></div></td>
#> <td headers="value" class="gt_row gt_center"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='>    <rect x='1.00' y='2.99' width='139.74' height='20.62' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='73.39' y='3.93' width='67.34' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='1.00' y='3.93' width='72.40' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00' y='30.18' style='font-size: 8.00px; font-family: "Arial";' textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right">0.4%</td>
#> <td headers="Mean" class="gt_row gt_right">—</td>
#> <td headers="Median" class="gt_row gt_right">—</td>
#> <td headers="SD" class="gt_row gt_right">—</td></tr>
#>   </tbody>
#>   
#>   
#> </table>
#> </div>
#> 
#>  SUMMARY OF CONTINUOUS VARIABLES
#> 
#> character(0)
#> 
#>  *Group: Control*
#>  Mean of Age is: 49.8 ± 14.4. (Median: 49.5 [Min: 26 - Max: 73])
#> 
#>  *Group: Control*
#>  Mean of OverallTime is: 16.2 ± 13.6. (Median: 9.8 [Min: 2.9 - Max:
#>  57.7])
#> 
#>  *Group: Treatment*
#>  Mean of Age is: 49 ± 13.3. (Median: 49 [Min: 25 - Max: 73])
#> 
#>  *Group: Treatment*
#>  Mean of OverallTime is: 16.9 ± 13.5. (Median: 10.6 [Min: 3.1 - Max:
#>  58.2])
#> 
#>  <table class="gt_table" data-quarto-disable-processing="false"
#>  data-quarto-bootstrap="false">
#> 
#>  <tr class="gt_heading">
#>  <td colspan="7" class="gt_heading gt_title gt_font_normal" style>.
#> 
#>  <tr class="gt_heading">
#>  <td colspan="7" class="gt_heading gt_subtitle gt_font_normal
#>  gt_bottom_border" style>250 rows x 3 cols
#> 
#>  <tr class="gt_col_headings">
#>  <th class="gt_col_heading gt_columns_bottom_border gt_left"
#>  rowspan="1" colspan="1" scope="col" id="type">
#>  <th class="gt_col_heading gt_columns_bottom_border gt_left"
#>  rowspan="1" colspan="1" scope="col" id="name">Column
#>  <th class="gt_col_heading gt_columns_bottom_border gt_center"
#>  rowspan="1" colspan="1" scope="col" id="value">Plot Overview
#>  <th class="gt_col_heading gt_columns_bottom_border gt_right"
#>  rowspan="1" colspan="1" scope="col" id="n_missing">Missing
#>  <th class="gt_col_heading gt_columns_bottom_border gt_right"
#>  rowspan="1" colspan="1" scope="col" id="Mean">Mean
#>  <th class="gt_col_heading gt_columns_bottom_border gt_right"
#>  rowspan="1" colspan="1" scope="col" id="Median">Median
#>  <th class="gt_col_heading gt_columns_bottom_border gt_right"
#>  rowspan="1" colspan="1" scope="col" id="SD">SD
#> 
#> 
#>  <tbody class="gt_table_body">
#>  <td headers="type" class="gt_row gt_left"><svg aria-hidden="true"
#>  role="img" viewBox="0 0 640 512"
#>  style="height:20px;width:25px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#f18e2c;overflow:visible;position:relative;"><path
#>  d="M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32
#>  32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32
#>  32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32
#>  32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7
#>  14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0
#>  17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96
#>  416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32
#>  14.3 32 32z"/>
#>  <td headers="name" class="gt_row gt_left" style="font-weight:
#>  bold;">Age
#>  <td headers="value" class="gt_row gt_center"><?xml version='1.0'
#>  encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng=='> <rect x='1.00' y='1.00'
#>  width='139.74' height='22.56' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng==)'><rect x='7.35'
#>  y='20.48' width='15.88' height='3.08' style='stroke-width: 1.07;
#>  stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #F8BB87;' /><rect x='23.23' y='3.05' width='15.88' height='20.51'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='39.11' y='5.61'
#>  width='15.88' height='17.94' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='54.99' y='1.00' width='15.88' height='22.56'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='70.87' y='2.02'
#>  width='15.88' height='21.53' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='86.75' y='5.61' width='15.88' height='17.94'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='102.63' y='1.51'
#>  width='15.88' height='22.05' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='118.50' y='21.50' width='15.88' height='2.05'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><circle cx='18.68'
#>  cy='23.04' r='0.46' style='stroke-width: 0.71; stroke: none;'
#>  /><circle cx='18.68' cy='23.04' r='0.46' style='stroke-width: 0.71;
#>  stroke: none;' /><line x1='69.63' y1='23.56' x2='69.63' y2='1.00'
#>  style='stroke-width: 1.07; stroke-linecap: butt;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><polyline
#>  points='1.00,23.56 140.74,23.56 ' style='stroke-width: 0.75;'
#>  /><polyline points='19.68,26.39 19.68,23.56 ' style='stroke-width:
#>  0.75;' /><polyline points='119.58,26.39 119.58,23.56 '
#>  style='stroke-width: 0.75;' /><text x='19.68' y='33.36'
#>  text-anchor='middle' style='font-size: 6.00px; font-weight: 0;
#>  font-family: "Courier";' textLength='25.16px'
#>  lengthAdjust='spacingAndGlyphs'>25 auto<text x='119.58' y='33.36'
#>  text-anchor='middle' style='font-size: 6.00px; font-weight: 0;
#>  font-family: "Courier";' textLength='25.16px'
#>  lengthAdjust='spacingAndGlyphs'>73 auto
#>  <td headers="n_missing" class="gt_row gt_right">0.4%
#>  <td headers="Mean" class="gt_row gt_right">49.4
#>  <td headers="Median" class="gt_row gt_right">49.0
#>  <td headers="SD" class="gt_row gt_right">13.8
#>  <td headers="type" class="gt_row gt_left gt_striped"><svg
#>  aria-hidden="true" role="img" viewBox="0 0 640 512"
#>  style="height:20px;width:25px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#f18e2c;overflow:visible;position:relative;"><path
#>  d="M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32
#>  32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32
#>  32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32
#>  32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7
#>  14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0
#>  17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96
#>  416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32
#>  14.3 32 32z"/>
#>  <td headers="name" class="gt_row gt_left gt_striped"
#>  style="font-weight: bold;">OverallTime
#>  <td headers="value" class="gt_row gt_center gt_striped"><?xml
#>  version='1.0' encoding='UTF-8' ?><svg
#>  xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng=='> <rect x='1.00' y='1.00'
#>  width='139.74' height='22.56' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8MS4wMHwyMy41Ng==)'><rect x='7.35'
#>  y='23.56' width='10.59' height='0.00' style='stroke-width: 1.07;
#>  stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #F8BB87;' /><rect x='17.93' y='1.00' width='10.59' height='22.56'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='28.52' y='1.89'
#>  width='10.59' height='21.67' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='39.11' y='19.40' width='10.59' height='4.16'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='49.69' y='16.73'
#>  width='10.59' height='6.83' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='60.28' y='18.51' width='10.59' height='5.05'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='70.87' y='18.81'
#>  width='10.59' height='4.75' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='81.45' y='20.88' width='10.59' height='2.67'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='92.04' y='22.37'
#>  width='10.59' height='1.19' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='102.63' y='22.37' width='10.59' height='1.19'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><rect x='113.21' y='20.88'
#>  width='10.59' height='2.67' style='stroke-width: 1.07; stroke:
#>  #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #F8BB87;'
#>  /><rect x='123.80' y='22.67' width='10.59' height='0.89'
#>  style='stroke-width: 1.07; stroke: #FFFFFF; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #F8BB87;' /><circle cx='17.37'
#>  cy='23.26' r='0.46' style='stroke-width: 0.71; stroke: none;'
#>  /><circle cx='17.37' cy='23.26' r='0.46' style='stroke-width: 0.71;
#>  stroke: none;' /><line x1='33.10' y1='23.56' x2='33.10' y2='1.00'
#>  style='stroke-width: 1.07; stroke-linecap: butt;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><polyline
#>  points='1.00,23.56 140.74,23.56 ' style='stroke-width: 0.75;'
#>  /><polyline points='18.49,26.39 18.49,23.56 ' style='stroke-width:
#>  0.75;' /><polyline points='129.94,26.39 129.94,23.56 '
#>  style='stroke-width: 0.75;' /><text x='18.49' y='33.36'
#>  text-anchor='middle' style='font-size: 6.00px; font-weight: 0;
#>  font-family: "Courier";' textLength='21.56px'
#>  lengthAdjust='spacingAndGlyphs'>3 auto<text x='129.94' y='33.36'
#>  text-anchor='middle' style='font-size: 6.00px; font-weight: 0;
#>  font-family: "Courier";' textLength='25.16px'
#>  lengthAdjust='spacingAndGlyphs'>58 auto
#>  <td headers="n_missing" class="gt_row gt_right gt_striped">0.8%
#>  <td headers="Mean" class="gt_row gt_right gt_striped">16.5
#>  <td headers="Median" class="gt_row gt_right gt_striped">10.1
#>  <td headers="SD" class="gt_row gt_right gt_striped">13.5
#>  <td headers="type" class="gt_row gt_left"><svg aria-hidden="true"
#>  role="img" viewBox="0 0 512 512"
#>  style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path
#>  d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0
#>  24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32
#>  32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0
#>  160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3
#>  32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32
#>  32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7
#>  24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3
#>  0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24
#>  24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/>
#>  <td headers="name" class="gt_row gt_left" style="font-weight:
#>  bold;"><div style='max-width: 150px;'>
#>  <details style='font-weight: normal !important;'>
#>  <summary style='font-weight: bold !important;'>Group
#>  Treatment and Control
#> 
#>  <td headers="value" class="gt_row gt_center"><?xml version='1.0'
#>  encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='> <rect x='1.00' y='2.99'
#>  width='139.74' height='20.62' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='73.39'
#>  y='3.93' width='67.34' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='1.00' y='3.93' width='72.40' height='18.75'
#>  style='stroke-width: 1.07; stroke: none; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #3181BD;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00'
#>  y='30.18' style='font-size: 8.00px; font-family: "Arial";'
#>  textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories
#>  <td headers="n_missing" class="gt_row gt_right">0.4%
#>  <td headers="Mean" class="gt_row gt_right">—
#>  <td headers="Median" class="gt_row gt_right">—
#>  <td headers="SD" class="gt_row gt_right">—

Categorical Reporting

# Example of proper reportcat usage
reportcat(
  data = histopathology,
  vars = c("Sex", "Grade", "LVI", "PNI")
)
#> <div id="kkeulbfdpb" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
#>   <style>@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
#> #kkeulbfdpb table {
#>   font-family: Lato, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
#>   -webkit-font-smoothing: antialiased;
#>   -moz-osx-font-smoothing: grayscale;
#> }
#> 
#> #kkeulbfdpb thead, #kkeulbfdpb tbody, #kkeulbfdpb tfoot, #kkeulbfdpb tr, #kkeulbfdpb td, #kkeulbfdpb th {
#>   border-style: none;
#> }
#> 
#> #kkeulbfdpb p {
#>   margin: 0;
#>   padding: 0;
#> }
#> 
#> #kkeulbfdpb .gt_table {
#>   display: table;
#>   border-collapse: collapse;
#>   line-height: normal;
#>   margin-left: auto;
#>   margin-right: auto;
#>   color: #333333;
#>   font-size: 16px;
#>   font-weight: normal;
#>   font-style: normal;
#>   background-color: #FFFFFF;
#>   width: auto;
#>   border-top-style: solid;
#>   border-top-width: 3px;
#>   border-top-color: #FFFFFF;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #A8A8A8;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_caption {
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#> }
#> 
#> #kkeulbfdpb .gt_title {
#>   color: #333333;
#>   font-size: 24px;
#>   font-weight: initial;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-color: #FFFFFF;
#>   border-bottom-width: 0;
#> }
#> 
#> #kkeulbfdpb .gt_subtitle {
#>   color: #333333;
#>   font-size: 85%;
#>   font-weight: initial;
#>   padding-top: 3px;
#>   padding-bottom: 5px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-color: #FFFFFF;
#>   border-top-width: 0;
#> }
#> 
#> #kkeulbfdpb .gt_heading {
#>   background-color: #FFFFFF;
#>   text-align: left;
#>   border-bottom-color: #FFFFFF;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_bottom_border {
#>   border-bottom-style: solid;
#>   border-bottom-width: 0px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_col_headings {
#>   border-top-style: solid;
#>   border-top-width: 0px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_col_heading {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 6px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   overflow-x: hidden;
#> }
#> 
#> #kkeulbfdpb .gt_column_spanner_outer {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   padding-top: 0;
#>   padding-bottom: 0;
#>   padding-left: 4px;
#>   padding-right: 4px;
#> }
#> 
#> #kkeulbfdpb .gt_column_spanner_outer:first-child {
#>   padding-left: 0;
#> }
#> 
#> #kkeulbfdpb .gt_column_spanner_outer:last-child {
#>   padding-right: 0;
#> }
#> 
#> #kkeulbfdpb .gt_column_spanner {
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 5px;
#>   overflow-x: hidden;
#>   display: inline-block;
#>   width: 100%;
#> }
#> 
#> #kkeulbfdpb .gt_spanner_row {
#>   border-bottom-style: hidden;
#> }
#> 
#> #kkeulbfdpb .gt_group_heading {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   text-align: left;
#> }
#> 
#> #kkeulbfdpb .gt_empty_group_heading {
#>   padding: 0.5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: middle;
#> }
#> 
#> #kkeulbfdpb .gt_from_md > :first-child {
#>   margin-top: 0;
#> }
#> 
#> #kkeulbfdpb .gt_from_md > :last-child {
#>   margin-bottom: 0;
#> }
#> 
#> #kkeulbfdpb .gt_row {
#>   padding-top: 7px;
#>   padding-bottom: 7px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   margin: 10px;
#>   border-top-style: solid;
#>   border-top-width: 1px;
#>   border-top-color: #F6F7F7;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   overflow-x: hidden;
#> }
#> 
#> #kkeulbfdpb .gt_stub {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 80%;
#>   font-weight: bolder;
#>   text-transform: uppercase;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_stub_row_group {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: initial;
#>   text-transform: inherit;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   vertical-align: top;
#> }
#> 
#> #kkeulbfdpb .gt_row_group_first td {
#>   border-top-width: 2px;
#> }
#> 
#> #kkeulbfdpb .gt_row_group_first th {
#>   border-top-width: 2px;
#> }
#> 
#> #kkeulbfdpb .gt_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_first_summary_row {
#>   border-top-style: solid;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_first_summary_row.thick {
#>   border-top-width: 2px;
#> }
#> 
#> #kkeulbfdpb .gt_last_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_grand_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_first_grand_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-style: double;
#>   border-top-width: 6px;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_last_grand_summary_row_top {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: double;
#>   border-bottom-width: 6px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_striped {
#>   background-color: #FAFAFA;
#> }
#> 
#> #kkeulbfdpb .gt_table_body {
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_footnotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_footnote {
#>   margin: 0px;
#>   font-size: 90%;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_sourcenotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #kkeulbfdpb .gt_sourcenote {
#>   font-size: 12px;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_left {
#>   text-align: left;
#> }
#> 
#> #kkeulbfdpb .gt_center {
#>   text-align: center;
#> }
#> 
#> #kkeulbfdpb .gt_right {
#>   text-align: right;
#>   font-variant-numeric: tabular-nums;
#> }
#> 
#> #kkeulbfdpb .gt_font_normal {
#>   font-weight: normal;
#> }
#> 
#> #kkeulbfdpb .gt_font_bold {
#>   font-weight: bold;
#> }
#> 
#> #kkeulbfdpb .gt_font_italic {
#>   font-style: italic;
#> }
#> 
#> #kkeulbfdpb .gt_super {
#>   font-size: 65%;
#> }
#> 
#> #kkeulbfdpb .gt_footnote_marks {
#>   font-size: 75%;
#>   vertical-align: 0.4em;
#>   position: initial;
#> }
#> 
#> #kkeulbfdpb .gt_asterisk {
#>   font-size: 100%;
#>   vertical-align: 0;
#> }
#> 
#> #kkeulbfdpb .gt_indent_1 {
#>   text-indent: 5px;
#> }
#> 
#> #kkeulbfdpb .gt_indent_2 {
#>   text-indent: 10px;
#> }
#> 
#> #kkeulbfdpb .gt_indent_3 {
#>   text-indent: 15px;
#> }
#> 
#> #kkeulbfdpb .gt_indent_4 {
#>   text-indent: 20px;
#> }
#> 
#> #kkeulbfdpb .gt_indent_5 {
#>   text-indent: 25px;
#> }
#> 
#> #kkeulbfdpb .katex-display {
#>   display: inline-flex !important;
#>   margin-bottom: 0.75em !important;
#> }
#> 
#> #kkeulbfdpb div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
#>   height: 0px !important;
#> }
#> </style>
#>   <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
#>   <thead>
#>     <tr class="gt_heading">
#>       <td colspan="4" class="gt_heading gt_title gt_font_normal" style>.</td>
#>     </tr>
#>     <tr class="gt_heading">
#>       <td colspan="4" class="gt_heading gt_subtitle gt_font_normal gt_bottom_border" style>250 rows x 4 cols</td>
#>     </tr>
#>     <tr class="gt_col_headings">
#>       <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="1" colspan="1" scope="col" id="type"></th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="1" colspan="1" scope="col" id="name">Column</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="value">Plot Overview</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="n_missing">Missing</th>
#>     </tr>
#>   </thead>
#>   <tbody class="gt_table_body">
#>     <tr><td headers="type" class="gt_row gt_left"><svg aria-hidden="true" role="img" viewBox="0 0 512 512" style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/></svg></td>
#> <td headers="name" class="gt_row gt_left" style="font-weight: bold;"><div style='max-width: 150px;'>
#>     <details style='font-weight: normal !important;'>
#>     <summary style='font-weight: bold !important;'>Sex</summary>
#> Male and Female
#> </details></div></td>
#> <td headers="value" class="gt_row gt_center"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='>    <rect x='1.00' y='2.99' width='139.74' height='20.62' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='72.83' y='3.93' width='67.91' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='1.00' y='3.93' width='71.83' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00' y='30.18' style='font-size: 8.00px; font-family: "Arial";' textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right">0.4%</td></tr>
#>     <tr><td headers="type" class="gt_row gt_left gt_striped"><svg aria-hidden="true" role="img" viewBox="0 0 512 512" style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/></svg></td>
#> <td headers="name" class="gt_row gt_left gt_striped" style="font-weight: bold;"><div style='max-width: 150px;'>
#>     <details style='font-weight: normal !important;'>
#>     <summary style='font-weight: bold !important;'>Grade</summary>
#> 3, 2 and 1
#> </details></div></td>
#> <td headers="value" class="gt_row gt_center gt_striped"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='>    <rect x='1.00' y='2.99' width='139.74' height='20.62' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='99.21' y='3.93' width='41.53' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='56.56' y='3.93' width='42.65' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #91B4DA;' /><rect x='1.00' y='3.93' width='55.56' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00' y='30.18' style='font-size: 8.00px; font-family: "Arial";' textLength='43.61px' lengthAdjust='spacingAndGlyphs'>3 categories</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right gt_striped">0.4%</td></tr>
#>     <tr><td headers="type" class="gt_row gt_left"><svg aria-hidden="true" role="img" viewBox="0 0 512 512" style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/></svg></td>
#> <td headers="name" class="gt_row gt_left" style="font-weight: bold;"><div style='max-width: 150px;'>
#>     <details style='font-weight: normal !important;'>
#>     <summary style='font-weight: bold !important;'>LVI</summary>
#> Absent and Present
#> </details></div></td>
#> <td headers="value" class="gt_row gt_center"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='>    <rect x='1.00' y='2.99' width='139.74' height='20.62' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='81.25' y='3.93' width='59.49' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='1.00' y='3.93' width='80.25' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00' y='30.18' style='font-size: 8.00px; font-family: "Arial";' textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right">0.4%</td></tr>
#>     <tr><td headers="type" class="gt_row gt_left gt_striped"><svg aria-hidden="true" role="img" viewBox="0 0 512 512" style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/></svg></td>
#> <td headers="name" class="gt_row gt_left gt_striped" style="font-weight: bold;"><div style='max-width: 150px;'>
#>     <details style='font-weight: normal !important;'>
#>     <summary style='font-weight: bold !important;'>PNI</summary>
#> Absent and Present
#> </details></div></td>
#> <td headers="value" class="gt_row gt_center gt_striped"><?xml version='1.0' encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt' height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'><defs>  <style type='text/css'><![CDATA[    .svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {      fill: none;      stroke: #000000;      stroke-linecap: round;      stroke-linejoin: round;      stroke-miterlimit: 10.00;    }    .svglite text {      white-space: pre;    }    .svglite g.glyphgroup path {      fill: inherit;      stroke: none;    }  ]]></style></defs><rect width='100%' height='100%' style='stroke: none; fill: none;'/><defs>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='>    <rect x='0.00' y='0.00' width='141.73' height='34.02' />  </clipPath></defs><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'></g><defs>  <clipPath id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='>    <rect x='1.00' y='2.99' width='139.74' height='20.62' />  </clipPath></defs><g clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='94.16' y='3.93' width='46.58' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='1.00' y='3.93' width='93.16' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /></g><g clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00' y='30.18' style='font-size: 8.00px; font-family: "Arial";' textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right gt_striped">0.4%</td></tr>
#>   </tbody>
#>   
#>   
#> </table>
#> </div>
#> 
#>  SUMMARY OF CATEGORICAL VARIABLES
#> 
#> character(0)
#> 
#>  Sex has 250 observations and 2 levels.
#>  Female: n = 121, 48.6% of valid cases.
#>  Male: n = 128, 51.4% of valid cases.
#>  Missing values: 1.
#> 
#>  Grade has 250 observations and 3 levels.
#>  1: n = 74, 29.72% of valid cases.
#>  2: n = 76, 30.52% of valid cases.
#>  3: n = 99, 39.76% of valid cases.
#>  Missing values: 1.
#> 
#>  LVI has 250 observations and 2 levels.
#>  Absent: n = 143, 57% of valid cases.
#>  Present: n = 106, 43% of valid cases.
#>  Missing values: 1.
#> 
#>  PNI has 250 observations and 2 levels.
#>  Absent: n = 166, 67% of valid cases.
#>  Present: n = 83, 33% of valid cases.
#>  Missing values: 1.
#> 
#>  <table class="gt_table" data-quarto-disable-processing="false"
#>  data-quarto-bootstrap="false">
#> 
#>  <tr class="gt_heading">
#>  <td colspan="4" class="gt_heading gt_title gt_font_normal" style>.
#> 
#>  <tr class="gt_heading">
#>  <td colspan="4" class="gt_heading gt_subtitle gt_font_normal
#>  gt_bottom_border" style>250 rows x 4 cols
#> 
#>  <tr class="gt_col_headings">
#>  <th class="gt_col_heading gt_columns_bottom_border gt_left"
#>  rowspan="1" colspan="1" scope="col" id="type">
#>  <th class="gt_col_heading gt_columns_bottom_border gt_left"
#>  rowspan="1" colspan="1" scope="col" id="name">Column
#>  <th class="gt_col_heading gt_columns_bottom_border gt_center"
#>  rowspan="1" colspan="1" scope="col" id="value">Plot Overview
#>  <th class="gt_col_heading gt_columns_bottom_border gt_right"
#>  rowspan="1" colspan="1" scope="col" id="n_missing">Missing
#> 
#> 
#>  <tbody class="gt_table_body">
#>  <td headers="type" class="gt_row gt_left"><svg aria-hidden="true"
#>  role="img" viewBox="0 0 512 512"
#>  style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path
#>  d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0
#>  24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32
#>  32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0
#>  160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3
#>  32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32
#>  32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7
#>  24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3
#>  0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24
#>  24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/>
#>  <td headers="name" class="gt_row gt_left" style="font-weight:
#>  bold;"><div style='max-width: 150px;'>
#>  <details style='font-weight: normal !important;'>
#>  <summary style='font-weight: bold !important;'>Sex
#>  Male and Female
#> 
#>  <td headers="value" class="gt_row gt_center"><?xml version='1.0'
#>  encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='> <rect x='1.00' y='2.99'
#>  width='139.74' height='20.62' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='72.83'
#>  y='3.93' width='67.91' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='1.00' y='3.93' width='71.83' height='18.75'
#>  style='stroke-width: 1.07; stroke: none; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #3181BD;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00'
#>  y='30.18' style='font-size: 8.00px; font-family: "Arial";'
#>  textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories
#>  <td headers="n_missing" class="gt_row gt_right">0.4%
#>  <td headers="type" class="gt_row gt_left gt_striped"><svg
#>  aria-hidden="true" role="img" viewBox="0 0 512 512"
#>  style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path
#>  d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0
#>  24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32
#>  32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0
#>  160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3
#>  32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32
#>  32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7
#>  24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3
#>  0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24
#>  24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/>
#>  <td headers="name" class="gt_row gt_left gt_striped"
#>  style="font-weight: bold;"><div style='max-width: 150px;'>
#>  <details style='font-weight: normal !important;'>
#>  <summary style='font-weight: bold !important;'>Grade
#>  3, 2 and 1
#> 
#>  <td headers="value" class="gt_row gt_center gt_striped"><?xml
#>  version='1.0' encoding='UTF-8' ?><svg
#>  xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='> <rect x='1.00' y='2.99'
#>  width='139.74' height='20.62' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='99.21'
#>  y='3.93' width='41.53' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='56.56' y='3.93' width='42.65' height='18.75'
#>  style='stroke-width: 1.07; stroke: none; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #91B4DA;' /><rect x='1.00' y='3.93'
#>  width='55.56' height='18.75' style='stroke-width: 1.07; stroke: none;
#>  stroke-linecap: butt; stroke-linejoin: miter; fill: #3181BD;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00'
#>  y='30.18' style='font-size: 8.00px; font-family: "Arial";'
#>  textLength='43.61px' lengthAdjust='spacingAndGlyphs'>3 categories
#>  <td headers="n_missing" class="gt_row gt_right gt_striped">0.4%
#>  <td headers="type" class="gt_row gt_left"><svg aria-hidden="true"
#>  role="img" viewBox="0 0 512 512"
#>  style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path
#>  d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0
#>  24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32
#>  32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0
#>  160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3
#>  32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32
#>  32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7
#>  24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3
#>  0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24
#>  24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/>
#>  <td headers="name" class="gt_row gt_left" style="font-weight:
#>  bold;"><div style='max-width: 150px;'>
#>  <details style='font-weight: normal !important;'>
#>  <summary style='font-weight: bold !important;'>LVI
#>  Absent and Present
#> 
#>  <td headers="value" class="gt_row gt_center"><?xml version='1.0'
#>  encoding='UTF-8' ?><svg xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='> <rect x='1.00' y='2.99'
#>  width='139.74' height='20.62' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='81.25'
#>  y='3.93' width='59.49' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='1.00' y='3.93' width='80.25' height='18.75'
#>  style='stroke-width: 1.07; stroke: none; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #3181BD;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00'
#>  y='30.18' style='font-size: 8.00px; font-family: "Arial";'
#>  textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories
#>  <td headers="n_missing" class="gt_row gt_right">0.4%
#>  <td headers="type" class="gt_row gt_left gt_striped"><svg
#>  aria-hidden="true" role="img" viewBox="0 0 512 512"
#>  style="height:20px;width:20px;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#4e79a7;overflow:visible;position:relative;"><path
#>  d="M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0
#>  24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32
#>  32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0
#>  160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3
#>  32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32
#>  32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7
#>  24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3
#>  0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24
#>  24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"/>
#>  <td headers="name" class="gt_row gt_left gt_striped"
#>  style="font-weight: bold;"><div style='max-width: 150px;'>
#>  <details style='font-weight: normal !important;'>
#>  <summary style='font-weight: bold !important;'>PNI
#>  Absent and Present
#> 
#>  <td headers="value" class="gt_row gt_center gt_striped"><?xml
#>  version='1.0' encoding='UTF-8' ?><svg
#>  xmlns='http://www.w3.org/2000/svg'
#>  xmlns:xlink='http://www.w3.org/1999/xlink' width='141.73pt'
#>  height='34.02pt' viewBox='0 0 141.73 34.02'><g class='svglite'> <style
#>  type='text/css'><![CDATA[ .svglite line, .svglite polyline, .svglite
#>  polygon, .svglite path, .svglite rect, .svglite circle { fill: none;
#>  stroke: #000000; stroke-linecap: round; stroke-linejoin: round;
#>  stroke-miterlimit: 10.00; } .svglite text { white-space: pre; }
#>  .svglite g.glyphgroup path { fill: inherit; stroke: none; } ]]><rect
#>  width='100%' height='100%' style='stroke: none; fill: none;'/>
#>  <clipPath id='cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg=='> <rect x='0.00'
#>  y='0.00' width='141.73' height='34.02' /> <g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'> <clipPath
#>  id='cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ=='> <rect x='1.00' y='2.99'
#>  width='139.74' height='20.62' /> <g
#>  clip-path='url(#cpMS4wMHwxNDAuNzR8Mi45OXwyMy42MQ==)'><rect x='94.16'
#>  y='3.93' width='46.58' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='1.00' y='3.93' width='93.16' height='18.75'
#>  style='stroke-width: 1.07; stroke: none; stroke-linecap: butt;
#>  stroke-linejoin: miter; fill: #3181BD;' /><g
#>  clip-path='url(#cpMC4wMHwxNDEuNzN8MC4wMHwzNC4wMg==)'><text x='1.00'
#>  y='30.18' style='font-size: 8.00px; font-family: "Arial";'
#>  textLength='43.61px' lengthAdjust='spacingAndGlyphs'>2 categories
#>  <td headers="n_missing" class="gt_row gt_right gt_striped">0.4%

Phase 4: Advanced Quality Assessment

Benford’s Law Analysis

# Fraud detection using Benford's law
benford(
  data = histopathology,
  var = "MeasurementA"
)
#> 
#>  BENFORD ANALYSIS
#> 
#>  See
#>  <a href = 'https://github.com/carloscinelli/benford.analysis'>Package
#>  documentation for interpratation.
#> 
#> Benford object:
#>  
#> Data: var 
#> Number of observations used = 135 
#> Number of obs. for second order = 134 
#> First digits analysed = 2
#> 
#> Mantissa: 
#> 
#>    Statistic  Value
#>         Mean  0.506
#>          Var  0.108
#>  Ex.Kurtosis -1.514
#>     Skewness -0.037
#> 
#> 
#> The 5 largest deviations: 
#> 
#>   digits absolute.diff
#> 1     52          4.88
#> 2     17          4.65
#> 3     66          4.12
#> 4     13          3.66
#> 5     16          3.55
#> 
#> Stats:
#> 
#>  Pearson's Chi-squared test
#> 
#> data:  var
#> X-squared = 137.97, df = 89, p-value = 0.0006808
#> 
#> 
#>  Mantissa Arc Test
#> 
#> data:  var
#> L2 = 0.058715, df = 2, p-value = 0.000361
#> 
#> Mean Absolute Deviation (MAD): 0.008005873
#> MAD Conformity - Nigrini (2012): Nonconformity
#> Distortion Factor: NaN
#> 
#> Remember: Real data will never conform perfectly to Benford's Law. You should not focus on p-values!    MeasurementA
#>            <num>
#>  1:    0.0176978
#>  2:    1.7391655
#>  3:    0.5256537
#>  4:    1.7557878
#>  5:    0.5239132
#>  6:    0.1729459
#>  7:    0.1769035
#>  8:    0.5289038
#>  9:    0.5236107
#> 10:    1.7691411
#> 11:    0.5241260
#> 12:    0.5263020
#> 13:    1.7349714
#> 14:    0.1749262

#> $xlog
#> [1] FALSE
#> 
#> $ylog
#> [1] FALSE
#> 
#> $adj
#> [1] 0.5
#> 
#> $ann
#> [1] TRUE
#> 
#> $ask
#> [1] FALSE
#> 
#> $bg
#> [1] "transparent"
#> 
#> $bty
#> [1] "o"
#> 
#> $cex
#> [1] 0.66
#> 
#> $cex.axis
#> [1] 1
#> 
#> $cex.lab
#> [1] 1
#> 
#> $cex.main
#> [1] 1.2
#> 
#> $cex.sub
#> [1] 1
#> 
#> $col
#> [1] "black"
#> 
#> $col.axis
#> [1] "black"
#> 
#> $col.lab
#> [1] "black"
#> 
#> $col.main
#> [1] "black"
#> 
#> $col.sub
#> [1] "black"
#> 
#> $crt
#> [1] 0
#> 
#> $err
#> [1] 0
#> 
#> $family
#> [1] ""
#> 
#> $fg
#> [1] "black"
#> 
#> $fig
#> [1] 0.6666667 1.0000000 0.0000000 0.5000000
#> 
#> $fin
#> [1] 8 6
#> 
#> $font
#> [1] 1
#> 
#> $font.axis
#> [1] 1
#> 
#> $font.lab
#> [1] 1
#> 
#> $font.main
#> [1] 2
#> 
#> $font.sub
#> [1] 1
#> 
#> $lab
#> [1] 5 5 7
#> 
#> $las
#> [1] 0
#> 
#> $lend
#> [1] "round"
#> 
#> $lheight
#> [1] 1
#> 
#> $ljoin
#> [1] "round"
#> 
#> $lmitre
#> [1] 10
#> 
#> $lty
#> [1] "solid"
#> 
#> $lwd
#> [1] 1
#> 
#> $mai
#> [1] 1.02 0.82 0.82 0.42
#> 
#> $mar
#> [1] 5.1 4.1 4.1 2.1
#> 
#> $mex
#> [1] 1
#> 
#> $mfcol
#> [1] 1 1
#> 
#> $mfg
#> [1] 1 1 1 1
#> 
#> $mfrow
#> [1] 1 1
#> 
#> $mgp
#> [1] 3 1 0
#> 
#> $mkh
#> [1] 0.001
#> 
#> $new
#> [1] TRUE
#> 
#> $oma
#> [1] 0 0 0 0
#> 
#> $omd
#> [1] 0 1 0 1
#> 
#> $omi
#> [1] 0 0 0 0
#> 
#> $pch
#> [1] 1
#> 
#> $pin
#> [1] 6.76 4.16
#> 
#> $plt
#> [1] 0.0775000 0.9225000 0.1533333 0.8466667
#> 
#> $ps
#> [1] 12
#> 
#> $pty
#> [1] "m"
#> 
#> $smo
#> [1] 1
#> 
#> $srt
#> [1] 0
#> 
#> $tck
#> [1] NA
#> 
#> $tcl
#> [1] -0.5
#> 
#> $usr
#> [1] 0.568 1.432 0.568 1.432
#> 
#> $xaxp
#> [1] 0 1 5
#> 
#> $xaxs
#> [1] "r"
#> 
#> $xaxt
#> [1] "s"
#> 
#> $xpd
#> [1] FALSE
#> 
#> $yaxp
#> [1] 0 1 5
#> 
#> $yaxs
#> [1] "r"
#> 
#> $yaxt
#> [1] "s"
#> 
#> $ylbias
#> [1] 0.2

Agreement Analysis

# Example agreement analysis (if rater variables exist)
# Note: This requires specific rater variables in the dataset
# agreement(
#   data = histopathology,
#   vars = c("Rater1", "Rater2")
# )

cat("Agreement analysis available - see agreement vignette for detailed examples")
#> Agreement analysis available - see agreement vignette for detailed examples

Best Practices Summary

Data Quality Checklist

  1. Completeness: Check for missing data patterns
  2. Consistency: Verify logical relationships between variables
  3. Accuracy: Assess distribution normality and outliers
  4. Validity: Confirm data formats and ranges
  5. Reliability: Test inter-rater agreement when applicable

Quality Thresholds

  • Missing Data: < 5% excellent, 5-10% good, 10-20% acceptable
  • Agreement: κ > 0.8 excellent, 0.6-0.8 good, 0.4-0.6 moderate
  • Benford Compliance: Chi-square p > 0.05 suggests natural data

Conclusion

Regular data quality assessment using these techniques ensures reliable and trustworthy clinical research results. For detailed function usage and advanced examples, consult the individual function vignettes.

Best Practices

  • Perform quality assessment before any statistical analysis
  • Document and investigate any quality issues found
  • Establish quality thresholds appropriate for your research context
  • Implement ongoing quality monitoring throughout data collection
  • Use multiple quality assessment methods for comprehensive evaluation