# 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
Vignette: Generating Quick Summaries of Categorical Pathology Data
2025-06-03
Source:vignettes/reportcat.qmd
# 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
<- reportcat(
results 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:
$text # (for the text summary)
results#>
#> 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.
$text1 # (for the visual summary table)
results#>
#> <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%