Skip to contents
# Create a sample data frame for a pathology cohort
set.seed(42)
n_cases <- 150
crc_cases <- data.frame(
  Histology = factor(sample(
    c("Adenocarcinoma, NOS", "Mucinous Adenocarcinoma", "Signet Ring Cell Carcinoma"),
    n_cases, replace = TRUE, prob = c(0.8, 0.15, 0.05)
  )),
  Differentiation = factor(sample(
    c("Well", "Moderate", "Poor"),
    n_cases, replace = TRUE, prob = c(0.2, 0.6, 0.2)
  ), ordered = TRUE, levels = c("Well", "Moderate", "Poor")),
  MMR_Status = factor(sample(
    c("pMMR", "dMMR", NA), # Include some missing data
    n_cases, replace = TRUE, prob = c(0.80, 0.15, 0.05)
  ))
)

head(crc_cases)
#>                 Histology Differentiation MMR_Status
#> 1 Mucinous Adenocarcinoma            Poor       pMMR
#> 2 Mucinous Adenocarcinoma        Moderate       pMMR
#> 3     Adenocarcinoma, NOS            Poor       pMMR
#> 4 Mucinous Adenocarcinoma        Moderate       pMMR
#> 5     Adenocarcinoma, NOS            Poor       dMMR
#> 6     Adenocarcinoma, NOS            Poor       dMMR
# This code simulates how the jamovi module would be called in an R environment.
# You would need the ClinicoPathDescriptives package installed.

# Load the library
library(ClinicoPathDescriptives)
#> Registered S3 method overwritten by 'future':
#>   method               from      
#>   all.equal.connection parallelly
#> Warning: replacing previous import 'dplyr::select' by 'jmvcore::select' when
#> loading 'ClinicoPathDescriptives'

# Run the reportcat analysis
results <- reportcat(
    data = crc_cases,
    vars = c("Histology", "Differentiation", "MMR_Status")
)
#> 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |......................................................................| 100%
#> New names:
#> • `` -> `...1`
#> New names:
#> New names:
#> • `` -> `...1`
#> 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |......................................................................| 100%
#> <div id="ryljisonwc" 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");
#> #ryljisonwc 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;
#> }
#> 
#> #ryljisonwc thead, #ryljisonwc tbody, #ryljisonwc tfoot, #ryljisonwc tr, #ryljisonwc td, #ryljisonwc th {
#>   border-style: none;
#> }
#> 
#> #ryljisonwc p {
#>   margin: 0;
#>   padding: 0;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_caption {
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_bottom_border {
#>   border-bottom-style: solid;
#>   border-bottom-width: 0px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_column_spanner_outer:first-child {
#>   padding-left: 0;
#> }
#> 
#> #ryljisonwc .gt_column_spanner_outer:last-child {
#>   padding-right: 0;
#> }
#> 
#> #ryljisonwc .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%;
#> }
#> 
#> #ryljisonwc .gt_spanner_row {
#>   border-bottom-style: hidden;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_from_md > :first-child {
#>   margin-top: 0;
#> }
#> 
#> #ryljisonwc .gt_from_md > :last-child {
#>   margin-bottom: 0;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_row_group_first td {
#>   border-top-width: 2px;
#> }
#> 
#> #ryljisonwc .gt_row_group_first th {
#>   border-top-width: 2px;
#> }
#> 
#> #ryljisonwc .gt_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #ryljisonwc .gt_first_summary_row {
#>   border-top-style: solid;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #ryljisonwc .gt_first_summary_row.thick {
#>   border-top-width: 2px;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_grand_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_striped {
#>   background-color: #FAFAFA;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_footnote {
#>   margin: 0px;
#>   font-size: 90%;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #ryljisonwc .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;
#> }
#> 
#> #ryljisonwc .gt_sourcenote {
#>   font-size: 12px;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #ryljisonwc .gt_left {
#>   text-align: left;
#> }
#> 
#> #ryljisonwc .gt_center {
#>   text-align: center;
#> }
#> 
#> #ryljisonwc .gt_right {
#>   text-align: right;
#>   font-variant-numeric: tabular-nums;
#> }
#> 
#> #ryljisonwc .gt_font_normal {
#>   font-weight: normal;
#> }
#> 
#> #ryljisonwc .gt_font_bold {
#>   font-weight: bold;
#> }
#> 
#> #ryljisonwc .gt_font_italic {
#>   font-style: italic;
#> }
#> 
#> #ryljisonwc .gt_super {
#>   font-size: 65%;
#> }
#> 
#> #ryljisonwc .gt_footnote_marks {
#>   font-size: 75%;
#>   vertical-align: 0.4em;
#>   position: initial;
#> }
#> 
#> #ryljisonwc .gt_asterisk {
#>   font-size: 100%;
#>   vertical-align: 0;
#> }
#> 
#> #ryljisonwc .gt_indent_1 {
#>   text-indent: 5px;
#> }
#> 
#> #ryljisonwc .gt_indent_2 {
#>   text-indent: 10px;
#> }
#> 
#> #ryljisonwc .gt_indent_3 {
#>   text-indent: 15px;
#> }
#> 
#> #ryljisonwc .gt_indent_4 {
#>   text-indent: 20px;
#> }
#> 
#> #ryljisonwc .gt_indent_5 {
#>   text-indent: 25px;
#> }
#> 
#> #ryljisonwc .katex-display {
#>   display: inline-flex !important;
#>   margin-bottom: 0.75em !important;
#> }
#> 
#> #ryljisonwc 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>150 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>
#>     </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;'>Histology</summary>
#> Adenocarcinoma, NOS, Mucinous Adenocarcinoma and Signet Ring Cell Carcinoma
#> </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='133.28' y='3.93' width='7.45' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='108.13' y='3.93' width='25.15' 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='107.13' 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">0.0%</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;'>Differentiation</summary>
#> Moderate, Well and Poor
#> </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='119.31' y='3.93' width='21.43' height='18.75' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #DDEAF7;' /><rect x='97.88' y='3.93' width='21.43' 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='96.89' 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='75.66px' lengthAdjust='spacingAndGlyphs'>3 categories, ordered</text></g></g></svg></td>
#> <td headers="n_missing" class="gt_row gt_right gt_striped">0.0%</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;'>MMR_Status</summary>
#> pMMR and dMMR
#> </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='119.78' y='3.93' width='20.96' 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='118.78' 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">6.7%</td></tr>
#>   </tbody>
#>   
#>   
#> </table>
#> </div>
#> 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |......................................................................| 100%

# The results are HTML outputs that render directly in jamovi.
# In R, you would access them like this:
results$text  # (for the text summary)
#> 
#>  Histology has 150 observations and 3 levels.
#>  Adenocarcinoma, NOS: n = 115, 77% of valid cases.
#>  Mucinous Adenocarcinoma: n = 27, 18% of valid cases.
#>  Signet Ring Cell Carcinoma: n = 8, 5% of valid cases.
#>  Missing values: 0.
#> 
#>  Differentiation has 150 observations and 3 levels.
#>  Moderate: n = 104, 69% of valid cases.
#>  Well: n = 23, 15% of valid cases.
#>  Poor: n = 23, 15% of valid cases.
#>  Missing values: 0.
#> 
#>  MMR_Status has 150 observations and 2 levels.
#>  pMMR: n = 119, 85% of valid cases.
#>  dMMR: n = 21, 15% of valid cases.
#>  Missing values: 10.
results$text1 # (for the visual summary table)
#> 
#>  <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>150 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
#> 
#> 
#>  <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;'>Histology
#>  Adenocarcinoma, NOS, Mucinous Adenocarcinoma and Signet Ring Cell
#>  Carcinoma
#> 
#>  <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='133.28'
#>  y='3.93' width='7.45' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='108.13' y='3.93' width='25.15' 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='107.13' 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">0.0%
#>  <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;'>Differentiation
#>  Moderate, Well and Poor
#> 
#>  <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='119.31'
#>  y='3.93' width='21.43' height='18.75' style='stroke-width: 1.07;
#>  stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill:
#>  #DDEAF7;' /><rect x='97.88' y='3.93' width='21.43' 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='96.89' 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='75.66px' lengthAdjust='spacingAndGlyphs'>3 categories,
#>  ordered
#>  <td headers="n_missing" class="gt_row gt_right gt_striped">0.0%
#>  <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;'>MMR_Status
#>  pMMR and dMMR
#> 
#>  <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='119.78'
#>  y='3.93' width='20.96' 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='118.78' 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">6.7%