Introduction This analysis compares two health state modeling approaches:

Structure 1: Direct Risk Computation (stored in m_States)

Structure 2: Composite Risk (stored in m_States_risk)

Both models simulate health state trajectories for 100,000 individuals over 61 cycles (cycles 0-60), with states including:

NE: No event (healthy)

MI: Myocardial infarction

ST: Stroke

PS: Post-stroke state

PM: Post-MI state

D: Death

  1. Load the Data (No intervention Scenario)
# Load the datasets
load('/Users/jamesoguta/Documents/James Oguta/My PhD Folder-2023-2025/Trainings/KenyaCVDModel/data/m_States.rda') # No intervention
load('/Users/jamesoguta/Documents/James Oguta/My PhD Folder-2023-2025/Trainings/KenyaCVDModel/data/m_States_risk.rda') # No intervention

# Check the structure of the datasets
str(m_States)
##  chr [1:100000, 1:61] "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:100000] "ind_1" "ind_2" "ind_3" "ind_4" ...
##   ..$ : chr [1:61] "cycle_0" "cycle_1" "cycle_2" "cycle_3" ...
str(m_States_risk)
##  chr [1:100000, 1:61] "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" "NE" ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:100000] "ind_1" "ind_2" "ind_3" "ind_4" ...
##   ..$ : chr [1:61] "cycle_0" "cycle_1" "cycle_2" "cycle_3" ...
  1. Basic Structure Comparison
cat("========== 1. BASIC STRUCTURE COMPARISON ==========\n")
## ========== 1. BASIC STRUCTURE COMPARISON ==========
cat("Structure 1 (Direct Risk Computation):\n")
## Structure 1 (Direct Risk Computation):
cat(sprintf("  Dimensions: %d x %d\n", nrow(m_States), ncol(m_States)))
##   Dimensions: 100000 x 61
cat("\nStructure 2 (Composite Risk):\n")
## 
## Structure 2 (Composite Risk):
cat(sprintf("  Dimensions: %d x %d\n", nrow(m_States_risk), ncol(m_States_risk)))
##   Dimensions: 100000 x 61
cat(sprintf("\nSame dimensions: %s\n", identical(dim(m_States), dim(m_States_risk))))
## 
## Same dimensions: TRUE
  1. State Space Comparison
states_struct1 <- unique(as.vector(m_States))
states_struct2 <- unique(as.vector(m_States_risk))

cat("States in Structure 1 (Direct Risk):\n")
## States in Structure 1 (Direct Risk):
print(sort(states_struct1))
## [1] "D"  "MI" "NE" "PM" "PS" "ST"
cat("\nStates in Structure 2 (Composite Risk):\n")
## 
## States in Structure 2 (Composite Risk):
print(sort(states_struct2))
## [1] "D"  "MI" "NE" "PM" "PS" "ST"
common_states <- intersect(states_struct1, states_struct2)
only_struct1 <- setdiff(states_struct1, states_struct2)
only_struct2 <- setdiff(states_struct2, states_struct1)

cat(sprintf("\nCommon states: %d\n", length(common_states)))
## 
## Common states: 6
cat(sprintf("States only in Structure 1: %d\n", length(only_struct1)))
## States only in Structure 1: 0
cat(sprintf("States only in Structure 2: %d\n", length(only_struct2)))
## States only in Structure 2: 0
  1. Distribution Over Time
# Define time points to analyze
time_points <- c(1, 2, 5, 10, 20, 30, 61)  # cycle_0, cycle_1, cycle_4, etc.
time_points <- time_points[time_points <= ncol(m_States)]

# Store results for plotting
dist_results <- list()

for(t in time_points) {
  cycle_name <- colnames(m_States)[t]
  cycle_num <- t - 1
  
  cat(sprintf("\n### Cycle %d (%s)\n", cycle_num, cycle_name))
  
  dist_struct1 <- prop.table(table(m_States[, t]))
  dist_struct2 <- prop.table(table(m_States_risk[, t]))
  
  # Create comparison table
  all_states <- sort(union(names(dist_struct1), names(dist_struct2)))
  comp_df <- data.frame(
    State = all_states,
    Structure1 = sapply(all_states, function(s) ifelse(s %in% names(dist_struct1), dist_struct1[s], 0)),
    Structure2 = sapply(all_states, function(s) ifelse(s %in% names(dist_struct2), dist_struct2[s], 0))
  )
  comp_df$Difference <- comp_df$Structure1 - comp_df$Structure2
  comp_df <- comp_df[order(comp_df$State), ]
  
  cat("\n**State Proportions:**\n\n")
  print(create_table(comp_df, paste("Cycle", cycle_num, "State Distribution")))
  
  # Store for plotting
  dist_results[[as.character(cycle_num)]] <- comp_df
}
## 
## ### Cycle 0 (cycle_0)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 0 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 1 </td>
##    <td style="text-align:right;"> 1 </td>
##    <td style="text-align:right;"> 0 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 1 (cycle_1)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 1 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 0.0167 </td>
##    <td style="text-align:right;"> 0.0175 </td>
##    <td style="text-align:right;"> -0.0008 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.0013 </td>
##    <td style="text-align:right;"> 0.0069 </td>
##    <td style="text-align:right;"> -0.0056 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 0.9800 </td>
##    <td style="text-align:right;"> 0.9675 </td>
##    <td style="text-align:right;"> 0.0126 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.0020 </td>
##    <td style="text-align:right;"> 0.0082 </td>
##    <td style="text-align:right;"> -0.0062 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 4 (cycle_4)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 4 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 0.0727 </td>
##    <td style="text-align:right;"> 0.0785 </td>
##    <td style="text-align:right;"> -0.0058 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.0018 </td>
##    <td style="text-align:right;"> 0.0077 </td>
##    <td style="text-align:right;"> -0.0059 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 0.9152 </td>
##    <td style="text-align:right;"> 0.8715 </td>
##    <td style="text-align:right;"> 0.0436 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:right;"> 0.0031 </td>
##    <td style="text-align:right;"> 0.0151 </td>
##    <td style="text-align:right;"> -0.0121 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:right;"> 0.0046 </td>
##    <td style="text-align:right;"> 0.0187 </td>
##    <td style="text-align:right;"> -0.0141 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.0027 </td>
##    <td style="text-align:right;"> 0.0084 </td>
##    <td style="text-align:right;"> -0.0057 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 9 (cycle_9)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 9 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 0.1826 </td>
##    <td style="text-align:right;"> 0.1985 </td>
##    <td style="text-align:right;"> -0.0159 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.0031 </td>
##    <td style="text-align:right;"> 0.0086 </td>
##    <td style="text-align:right;"> -0.0054 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 0.7900 </td>
##    <td style="text-align:right;"> 0.7168 </td>
##    <td style="text-align:right;"> 0.0732 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:right;"> 0.0083 </td>
##    <td style="text-align:right;"> 0.0293 </td>
##    <td style="text-align:right;"> -0.0210 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:right;"> 0.0122 </td>
##    <td style="text-align:right;"> 0.0384 </td>
##    <td style="text-align:right;"> -0.0261 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.0037 </td>
##    <td style="text-align:right;"> 0.0084 </td>
##    <td style="text-align:right;"> -0.0047 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 19 (cycle_19)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 19 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 0.4501 </td>
##    <td style="text-align:right;"> 0.4832 </td>
##    <td style="text-align:right;"> -0.0331 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.0051 </td>
##    <td style="text-align:right;"> 0.0069 </td>
##    <td style="text-align:right;"> -0.0018 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 0.5047 </td>
##    <td style="text-align:right;"> 0.4325 </td>
##    <td style="text-align:right;"> 0.0722 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:right;"> 0.0137 </td>
##    <td style="text-align:right;"> 0.0301 </td>
##    <td style="text-align:right;"> -0.0164 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:right;"> 0.0208 </td>
##    <td style="text-align:right;"> 0.0400 </td>
##    <td style="text-align:right;"> -0.0192 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.0056 </td>
##    <td style="text-align:right;"> 0.0073 </td>
##    <td style="text-align:right;"> -0.0017 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 29 (cycle_29)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 29 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 0.7233 </td>
##    <td style="text-align:right;"> 0.7500 </td>
##    <td style="text-align:right;"> -0.0267 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.0045 </td>
##    <td style="text-align:right;"> 0.0039 </td>
##    <td style="text-align:right;"> 0.0006 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 0.2386 </td>
##    <td style="text-align:right;"> 0.2073 </td>
##    <td style="text-align:right;"> 0.0312 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:right;"> 0.0121 </td>
##    <td style="text-align:right;"> 0.0148 </td>
##    <td style="text-align:right;"> -0.0026 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:right;"> 0.0165 </td>
##    <td style="text-align:right;"> 0.0205 </td>
##    <td style="text-align:right;"> -0.0039 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.0049 </td>
##    <td style="text-align:right;"> 0.0036 </td>
##    <td style="text-align:right;"> 0.0013 </td>
##   </tr>
## </tbody>
## </table>
## ### Cycle 60 (cycle_60)
## 
## **State Proportions:**
## 
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Cycle 60 State Distribution</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1 </th>
##    <th style="text-align:right;"> Structure2 </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 1 </td>
##    <td style="text-align:right;"> 1 </td>
##    <td style="text-align:right;"> 0 </td>
##   </tr>
## </tbody>
## </table>

3.1 Visualizing Distributions Over Time

# Prepare data for plotting
plot_data <- data.frame()
for(cycle in names(dist_results)) {
  df <- dist_results[[cycle]]
  df$Cycle <- as.numeric(cycle)
  plot_data <- rbind(plot_data, df)
}

# Plot proportions over time - Structure 1
p1 <- ggplot(plot_data, aes(x = Cycle, y = Structure1, color = State)) +
  geom_line(size = 1.2) +
  geom_point(size = 2) +
  labs(title = "Structure 1 (Direct Risk): State Proportions Over Time",
       x = "Cycle", y = "Proportion") +
  theme_minimal() +
  theme(legend.position = "bottom")
print(p1)

# Plot proportions over time - Structure 2
p2 <- ggplot(plot_data, aes(x = Cycle, y = Structure2, color = State)) +
  geom_line(size = 1.2) +
  geom_point(size = 2) +
  labs(title = "Structure 2 (Composite Risk): State Proportions Over Time",
       x = "Cycle", y = "Proportion") +
  theme_minimal() +
  theme(legend.position = "bottom")
print(p2)

# Plot differences
p3 <- ggplot(plot_data, aes(x = Cycle, y = Difference, color = State)) +
  geom_line(size = 1.2) +
  geom_point(size = 2) +
  geom_hline(yintercept = 0, linetype = "dashed", color = "gray50") +
  labs(title = "Difference in State Proportions (Structure 1 - Structure 2)",
       x = "Cycle", y = "Difference") +
  theme_minimal() +
  theme(legend.position = "bottom")
print(p3)

4. Individual Trajectory Comparison

n_examples <- min(10, nrow(m_States))
trajectory_results <- data.frame()

for(i in 1:n_examples) {
  cat(sprintf("\n### Individual %s\n", rownames(m_States)[i]))
  
  traj_struct1 <- m_States[i, ]
  traj_struct2 <- m_States_risk[i, ]
  
  # Show first 30 cycles
  cat("\n**Structure 1 (Direct Risk) (first 30 cycles):**\n")
  cat(paste(traj_struct1[1:min(30, length(traj_struct1))], collapse = " "), "\n")
  
  cat("\n**Structure 2 (Composite Risk) (first 30 cycles):**\n")
  cat(paste(traj_struct2[1:min(30, length(traj_struct2))], collapse = " "), "\n")
  
  # Find differences
  diff_positions <- which(traj_struct1 != traj_struct2)
  if(length(diff_positions) > 0) {
    cat(sprintf("\n**Different cycles:** %d (%.1f%%)\n", 
                length(diff_positions), 100 * length(diff_positions) / length(traj_struct1)))
    cat("\n**First 10 differences:**\n")
    diff_df <- data.frame(
      Cycle = diff_positions[1:min(10, length(diff_positions))] - 1,
      Structure1 = traj_struct1[diff_positions[1:min(10, length(diff_positions))]],
      Structure2 = traj_struct2[diff_positions[1:min(10, length(diff_positions))]]
    )
    print(create_table(diff_df, paste("Differences for Individual", i)))
  } else {
    cat("\n**Trajectories are IDENTICAL**\n")
  }
  cat("\n---\n")
}
## 
## ### Individual ind_1
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Different cycles:** 7 (11.5%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 1</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_27 </td>
##    <td style="text-align:right;"> 27 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_28 </td>
##    <td style="text-align:right;"> 28 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_29 </td>
##    <td style="text-align:right;"> 29 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_30 </td>
##    <td style="text-align:right;"> 30 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_31 </td>
##    <td style="text-align:right;"> 31 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_32 </td>
##    <td style="text-align:right;"> 32 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_33 </td>
##    <td style="text-align:right;"> 33 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_2
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D 
## 
## **Different cycles:** 21 (34.4%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 2</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_19 </td>
##    <td style="text-align:right;"> 19 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_20 </td>
##    <td style="text-align:right;"> 20 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_21 </td>
##    <td style="text-align:right;"> 21 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_22 </td>
##    <td style="text-align:right;"> 22 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_23 </td>
##    <td style="text-align:right;"> 23 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_24 </td>
##    <td style="text-align:right;"> 24 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_25 </td>
##    <td style="text-align:right;"> 25 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_26 </td>
##    <td style="text-align:right;"> 26 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_27 </td>
##    <td style="text-align:right;"> 27 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_28 </td>
##    <td style="text-align:right;"> 28 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_3
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D D D D D D D 
## 
## **Different cycles:** 5 (8.2%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 3</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_13 </td>
##    <td style="text-align:right;"> 13 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_14 </td>
##    <td style="text-align:right;"> 14 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_15 </td>
##    <td style="text-align:right;"> 15 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_16 </td>
##    <td style="text-align:right;"> 16 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_17 </td>
##    <td style="text-align:right;"> 17 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_4
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE ST D D D D D D D D D D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE D D D D D D D D D D D D D D D D D D D D D D 
## 
## **Different cycles:** 8 (13.1%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 4</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_8 </td>
##    <td style="text-align:right;"> 8 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_9 </td>
##    <td style="text-align:right;"> 9 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_10 </td>
##    <td style="text-align:right;"> 10 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_11 </td>
##    <td style="text-align:right;"> 11 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_12 </td>
##    <td style="text-align:right;"> 12 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_13 </td>
##    <td style="text-align:right;"> 13 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_14 </td>
##    <td style="text-align:right;"> 14 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_15 </td>
##    <td style="text-align:right;"> 15 </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_5
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Different cycles:** 15 (24.6%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 5</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_25 </td>
##    <td style="text-align:right;"> 25 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_26 </td>
##    <td style="text-align:right;"> 26 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_27 </td>
##    <td style="text-align:right;"> 27 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_28 </td>
##    <td style="text-align:right;"> 28 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_29 </td>
##    <td style="text-align:right;"> 29 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_30 </td>
##    <td style="text-align:right;"> 30 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_31 </td>
##    <td style="text-align:right;"> 31 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_32 </td>
##    <td style="text-align:right;"> 32 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_33 </td>
##    <td style="text-align:right;"> 33 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_34 </td>
##    <td style="text-align:right;"> 34 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_6
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D D D 
## 
## **Different cycles:** 19 (31.1%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 6</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_17 </td>
##    <td style="text-align:right;"> 17 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_18 </td>
##    <td style="text-align:right;"> 18 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_19 </td>
##    <td style="text-align:right;"> 19 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_20 </td>
##    <td style="text-align:right;"> 20 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_21 </td>
##    <td style="text-align:right;"> 21 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_22 </td>
##    <td style="text-align:right;"> 22 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_23 </td>
##    <td style="text-align:right;"> 23 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_24 </td>
##    <td style="text-align:right;"> 24 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_25 </td>
##    <td style="text-align:right;"> 25 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_26 </td>
##    <td style="text-align:right;"> 26 </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> D </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_7
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE D D D D D D D D D D D D D D D D D D D D D D D D D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D D D D 
## 
## **Different cycles:** 15 (24.6%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 7</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_1 </td>
##    <td style="text-align:right;"> 1 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_2 </td>
##    <td style="text-align:right;"> 2 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_3 </td>
##    <td style="text-align:right;"> 3 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_4 </td>
##    <td style="text-align:right;"> 4 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_5 </td>
##    <td style="text-align:right;"> 5 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_6 </td>
##    <td style="text-align:right;"> 6 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_7 </td>
##    <td style="text-align:right;"> 7 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_8 </td>
##    <td style="text-align:right;"> 8 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_9 </td>
##    <td style="text-align:right;"> 9 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_10 </td>
##    <td style="text-align:right;"> 10 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_8
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Different cycles:** 9 (14.8%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 8</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_29 </td>
##    <td style="text-align:right;"> 29 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_30 </td>
##    <td style="text-align:right;"> 30 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_31 </td>
##    <td style="text-align:right;"> 31 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_32 </td>
##    <td style="text-align:right;"> 32 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_33 </td>
##    <td style="text-align:right;"> 33 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_34 </td>
##    <td style="text-align:right;"> 34 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_35 </td>
##    <td style="text-align:right;"> 35 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_36 </td>
##    <td style="text-align:right;"> 36 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_37 </td>
##    <td style="text-align:right;"> 37 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_9
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE MI PM PM PM PM PM D D D D D D D D D D D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE 
## 
## **Different cycles:** 28 (45.9%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 9</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_9 </td>
##    <td style="text-align:right;"> 9 </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_10 </td>
##    <td style="text-align:right;"> 10 </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_11 </td>
##    <td style="text-align:right;"> 11 </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_12 </td>
##    <td style="text-align:right;"> 12 </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_13 </td>
##    <td style="text-align:right;"> 13 </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_14 </td>
##    <td style="text-align:right;"> 14 </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_15 </td>
##    <td style="text-align:right;"> 15 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_16 </td>
##    <td style="text-align:right;"> 16 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_17 </td>
##    <td style="text-align:right;"> 17 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_18 </td>
##    <td style="text-align:right;"> 18 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
## </tbody>
## </table>
## ---
## 
## ### Individual ind_10
## 
## **Structure 1 (Direct Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE D D D D D D D D D D D D 
## 
## **Structure 2 (Composite Risk) (first 30 cycles):**
## NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE NE MI PM PM PM 
## 
## **Different cycles:** 14 (23.0%)
## 
## **First 10 differences:**
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Differences for Individual 10</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:right;"> Cycle </th>
##    <th style="text-align:left;"> Structure1 </th>
##    <th style="text-align:left;"> Structure2 </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> cycle_18 </td>
##    <td style="text-align:right;"> 18 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_19 </td>
##    <td style="text-align:right;"> 19 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_20 </td>
##    <td style="text-align:right;"> 20 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_21 </td>
##    <td style="text-align:right;"> 21 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_22 </td>
##    <td style="text-align:right;"> 22 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_23 </td>
##    <td style="text-align:right;"> 23 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_24 </td>
##    <td style="text-align:right;"> 24 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_25 </td>
##    <td style="text-align:right;"> 25 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> NE </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_26 </td>
##    <td style="text-align:right;"> 26 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> MI </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> cycle_27 </td>
##    <td style="text-align:right;"> 27 </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> PM </td>
##   </tr>
## </tbody>
## </table>
## ---
  1. Time-to-Event Analysis 5.1 Time to Death (D)
dead_state <- "D"

# Time to death function
time_to_event <- function(mat, state) {
  apply(mat, 1, function(row) {
    idx <- which(row == state)[1]
    ifelse(is.na(idx), ncol(mat) + 1, idx)
  })
}

ttd_struct1 <- time_to_event(m_States, dead_state)
ttd_struct2 <- time_to_event(m_States_risk, dead_state)

# Create summary table
death_summary <- data.frame(
  Model = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"),
  Mean_Time_to_Death = c(mean(ttd_struct1), mean(ttd_struct2)),
  Median_Time_to_Death = c(median(ttd_struct1), median(ttd_struct2)),
  SD_Time_to_Death = c(sd(ttd_struct1), sd(ttd_struct2))
)
death_summary$Difference <- c(NA, death_summary$Mean_Time_to_Death[1] - death_summary$Mean_Time_to_Death[2])

cat("\n**Time to Death Summary:**\n\n")
## 
## **Time to Death Summary:**
print(create_table(death_summary, "Time to Death Statistics"))
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>Time to Death Statistics</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;"> Model </th>
##    <th style="text-align:right;"> Mean_Time_to_Death </th>
##    <th style="text-align:right;"> Median_Time_to_Death </th>
##    <th style="text-align:right;"> SD_Time_to_Death </th>
##    <th style="text-align:right;"> Difference </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> Structure 1 (Direct Risk) </td>
##    <td style="text-align:right;"> 22.7897 </td>
##    <td style="text-align:right;"> 22 </td>
##    <td style="text-align:right;"> 11.9525 </td>
##    <td style="text-align:right;"> NA </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> Structure 2 (Composite Risk) </td>
##    <td style="text-align:right;"> 22.0025 </td>
##    <td style="text-align:right;"> 21 </td>
##    <td style="text-align:right;"> 11.9984 </td>
##    <td style="text-align:right;"> 0.7872 </td>
##   </tr>
## </tbody>
## </table>

5.1.1-Visualize time to death using survival curves

# Survival curves
survival_struct1 <- sapply(1:ncol(m_States), function(t) mean(ttd_struct1 > t))
survival_struct2 <- sapply(1:ncol(m_States), function(t) mean(ttd_struct2 > t))

# Plot survival
plot(0:(ncol(m_States)-1), survival_struct1, type = "l", col = "blue", 
     ylim = c(0, 1), xlab = "Cycle", ylab = "Survival Probability",
     main = "Survival Comparison (Death State D)", lwd = 2)
lines(0:(ncol(m_States)-1), survival_struct2, col = "red", lwd = 2)
legend("topright", legend = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"), 
       col = c("blue", "red"), lty = 1, lwd = 2)
grid()

5.2 Time to MI

mi_state <- "MI"

ttmi_struct1 <- time_to_event(m_States, mi_state)
ttmi_struct2 <- time_to_event(m_States_risk, mi_state)

ever_mi_struct1 <- ttmi_struct1 <= ncol(m_States)
ever_mi_struct2 <- ttmi_struct2 <= ncol(m_States_risk)

# Create MI summary table
mi_summary <- data.frame(
  Model = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"),
  Ever_MI_Percent = c(100 * mean(ever_mi_struct1), 100 * mean(ever_mi_struct2)),
  Mean_Time_to_MI = c(mean(ttmi_struct1[ever_mi_struct1]), mean(ttmi_struct2[ever_mi_struct2])),
  Median_Time_to_MI = c(median(ttmi_struct1[ever_mi_struct1]), median(ttmi_struct2[ever_mi_struct2]))
)
mi_summary$Difference_Percent <- c(NA, mi_summary$Ever_MI_Percent[2] - mi_summary$Ever_MI_Percent[1])
mi_summary$Difference_Time <- c(NA, mi_summary$Mean_Time_to_MI[1] - mi_summary$Mean_Time_to_MI[2])

cat("\n**MI Event Summary:**\n\n")
## 
## **MI Event Summary:**
print(create_table(mi_summary, "MI Event Statistics"))
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>MI Event Statistics</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;"> Model </th>
##    <th style="text-align:right;"> Ever_MI_Percent </th>
##    <th style="text-align:right;"> Mean_Time_to_MI </th>
##    <th style="text-align:right;"> Median_Time_to_MI </th>
##    <th style="text-align:right;"> Difference_Percent </th>
##    <th style="text-align:right;"> Difference_Time </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> Structure 1 (Direct Risk) </td>
##    <td style="text-align:right;"> 12.214 </td>
##    <td style="text-align:right;"> 24.2286 </td>
##    <td style="text-align:right;"> 24 </td>
##    <td style="text-align:right;"> NA </td>
##    <td style="text-align:right;"> NA </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> Structure 2 (Composite Risk) </td>
##    <td style="text-align:right;"> 14.857 </td>
##    <td style="text-align:right;"> 15.5061 </td>
##    <td style="text-align:right;"> 14 </td>
##    <td style="text-align:right;"> 2.643 </td>
##    <td style="text-align:right;"> 8.7225 </td>
##   </tr>
## </tbody>
## </table>

5.2.1-Visualize time to MI using survival curves

# MI-free survival
mi_free_struct1 <- sapply(1:ncol(m_States), function(t) mean(ttmi_struct1 > t))
mi_free_struct2 <- sapply(1:ncol(m_States), function(t) mean(ttmi_struct2 > t))

# Plot MI-free survival
plot(0:(ncol(m_States)-1), mi_free_struct1, type = "l", col = "blue", 
     ylim = c(0, 1), xlab = "Cycle", ylab = "MI-Free Probability",
     main = "MI-Free Survival", lwd = 2)
lines(0:(ncol(m_States)-1), mi_free_struct2, col = "red", lwd = 2)
legend("bottomright", legend = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"), 
       col = c("blue", "red"), lty = 1, lwd = 2)
grid()

5.3 Time to ST

st_state <- "ST"

ttst_struct1 <- time_to_event(m_States, st_state)
ttst_struct2 <- time_to_event(m_States_risk, st_state)

ever_st_struct1 <- ttst_struct1 <= ncol(m_States)
ever_st_struct2 <- ttst_struct2 <= ncol(m_States_risk)

# Create ST summary table
st_summary <- data.frame(
  Model = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"),
  Ever_ST_Percent = c(100 * mean(ever_st_struct1), 100 * mean(ever_st_struct2)),
  Mean_Time_to_ST = c(mean(ttst_struct1[ever_st_struct1]), mean(ttst_struct2[ever_st_struct2])),
  Median_Time_to_ST = c(median(ttst_struct1[ever_st_struct1]), median(ttst_struct2[ever_st_struct2]))
)
st_summary$Difference_Percent <- c(NA, st_summary$Ever_ST_Percent[2] - st_summary$Ever_ST_Percent[1])
st_summary$Difference_Time <- c(NA, st_summary$Mean_Time_to_ST[1] - st_summary$Mean_Time_to_ST[2])

cat("\n**ST Event Summary:**\n\n")
## 
## **ST Event Summary:**
print(create_table(st_summary, "ST Event Statistics"))
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>ST Event Statistics</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;"> Model </th>
##    <th style="text-align:right;"> Ever_ST_Percent </th>
##    <th style="text-align:right;"> Mean_Time_to_ST </th>
##    <th style="text-align:right;"> Median_Time_to_ST </th>
##    <th style="text-align:right;"> Difference_Percent </th>
##    <th style="text-align:right;"> Difference_Time </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> Structure 1 (Direct Risk) </td>
##    <td style="text-align:right;"> 15.253 </td>
##    <td style="text-align:right;"> 23.0366 </td>
##    <td style="text-align:right;"> 23 </td>
##    <td style="text-align:right;"> NA </td>
##    <td style="text-align:right;"> NA </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> Structure 2 (Composite Risk) </td>
##    <td style="text-align:right;"> 17.829 </td>
##    <td style="text-align:right;"> 15.6108 </td>
##    <td style="text-align:right;"> 14 </td>
##    <td style="text-align:right;"> 2.576 </td>
##    <td style="text-align:right;"> 7.4258 </td>
##   </tr>
## </tbody>
## </table>

5.3.1-Visualize time to ST using survival curves

# ST-free survival
st_free_struct1 <- sapply(1:ncol(m_States), function(t) mean(ttst_struct1 > t))
st_free_struct2 <- sapply(1:ncol(m_States), function(t) mean(ttst_struct2 > t))

# Plot ST-free survival
plot(0:(ncol(m_States)-1), st_free_struct1, type = "l", col = "blue", 
     ylim = c(0, 1), xlab = "Cycle", ylab = "ST-Free Probability",
     main = "ST-Free Survival", lwd = 2)
lines(0:(ncol(m_States)-1), st_free_struct2, col = "red", lwd = 2)
legend("topright", legend = c("Structure 1 (Direct Risk)", "Structure 2 (Composite Risk)"), 
       col = c("blue", "red"), lty = 1, lwd = 2)
grid()

6. State Occupancy Analysis

occupancy_struct1 <- sapply(states_struct1, function(state) {
  rowSums(m_States == state, na.rm = TRUE)
})
occupancy_struct2 <- sapply(states_struct2, function(state) {
  rowSums(m_States_risk == state, na.rm = TRUE)
})

occupancy_summary <- data.frame(
  State = states_struct1,
  Structure1_Mean = sapply(states_struct1, function(s) mean(occupancy_struct1[, s])),
  Structure1_Pct = sapply(states_struct1, function(s) 100 * mean(occupancy_struct1[, s]) / ncol(m_States)),
  Structure2_Mean = sapply(states_struct1, function(s) mean(occupancy_struct2[, s])),
  Structure2_Pct = sapply(states_struct1, function(s) 100 * mean(occupancy_struct2[, s]) / ncol(m_States))
)
occupancy_summary$Difference_Mean <- occupancy_summary$Structure1_Mean - occupancy_summary$Structure2_Mean
occupancy_summary$Difference_Pct <- occupancy_summary$Structure1_Pct - occupancy_summary$Structure2_Pct

cat("\n**Mean Cycles Spent in Each State:**\n\n")
## 
## **Mean Cycles Spent in Each State:**
print(create_table(occupancy_summary, "State Occupancy Statistics"))
## <table class="table table-striped table-hover table-condensed" style="color: black; margin-left: auto; margin-right: auto;">
## <caption>State Occupancy Statistics</caption>
##  <thead>
##   <tr>
##    <th style="text-align:left;">  </th>
##    <th style="text-align:left;"> State </th>
##    <th style="text-align:right;"> Structure1_Mean </th>
##    <th style="text-align:right;"> Structure1_Pct </th>
##    <th style="text-align:right;"> Structure2_Mean </th>
##    <th style="text-align:right;"> Structure2_Pct </th>
##    <th style="text-align:right;"> Difference_Mean </th>
##    <th style="text-align:right;"> Difference_Pct </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:left;"> NE </td>
##    <td style="text-align:right;"> 20.4794 </td>
##    <td style="text-align:right;"> 33.5728 </td>
##    <td style="text-align:right;"> 18.7118 </td>
##    <td style="text-align:right;"> 30.6751 </td>
##    <td style="text-align:right;"> 1.7676 </td>
##    <td style="text-align:right;"> 2.8977 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:left;"> D </td>
##    <td style="text-align:right;"> 39.2103 </td>
##    <td style="text-align:right;"> 64.2792 </td>
##    <td style="text-align:right;"> 39.9975 </td>
##    <td style="text-align:right;"> 65.5697 </td>
##    <td style="text-align:right;"> -0.7872 </td>
##    <td style="text-align:right;"> -1.2905 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:left;"> ST </td>
##    <td style="text-align:right;"> 0.1776 </td>
##    <td style="text-align:right;"> 0.2911 </td>
##    <td style="text-align:right;"> 0.2245 </td>
##    <td style="text-align:right;"> 0.3680 </td>
##    <td style="text-align:right;"> -0.0469 </td>
##    <td style="text-align:right;"> -0.0769 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:left;"> MI </td>
##    <td style="text-align:right;"> 0.1632 </td>
##    <td style="text-align:right;"> 0.2676 </td>
##    <td style="text-align:right;"> 0.2292 </td>
##    <td style="text-align:right;"> 0.3757 </td>
##    <td style="text-align:right;"> -0.0659 </td>
##    <td style="text-align:right;"> -0.1081 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:left;"> PS </td>
##    <td style="text-align:right;"> 0.5689 </td>
##    <td style="text-align:right;"> 0.9326 </td>
##    <td style="text-align:right;"> 1.0521 </td>
##    <td style="text-align:right;"> 1.7248 </td>
##    <td style="text-align:right;"> -0.4832 </td>
##    <td style="text-align:right;"> -0.7922 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:left;"> PM </td>
##    <td style="text-align:right;"> 0.4006 </td>
##    <td style="text-align:right;"> 0.6567 </td>
##    <td style="text-align:right;"> 0.7849 </td>
##    <td style="text-align:right;"> 1.2867 </td>
##    <td style="text-align:right;"> -0.3843 </td>
##    <td style="text-align:right;"> -0.6300 </td>
##   </tr>
## </tbody>
## </table>