MarkovTest | R Documentation |

Log-rank based test for the validity of the Markov assumption

```
MarkovTest(
data,
id,
formula = NULL,
transition,
grid,
B = 1000,
fn = list(function(x) mean(abs(x), na.rm = TRUE)),
fn2 = list(function(x) mean(x, na.rm = TRUE)),
min_time = 0,
other_weights = NULL,
dist = c("poisson", "normal")
)
```

`data` |
Multi-state data in |

`id` |
Column name in |

`formula` |
Right-hand side of the formula. If NULL will fit with no covariates (formula="1" will also work), offset terms can also be specified. |

`transition` |
Transition number of the transition to be tested (in the
transition matrix as attribute to |

`grid` |
Grid of time points at which to compute the statistic |

`B` |
Number of wild bootstrap replications to perform |

`fn` |
A list of summary functions to be applied to the individual zbar traces (or a list of lists) |

`fn2` |
A list of summary functions to be applied to the overall chi-squared trace |

`min_time` |
The minimum time for calculating optimal weights |

`other_weights` |
Other (than optimal) weights can be specified here |

`dist` |
Distribution of wild bootstrap random weights, either "poisson" for centred Poisson (default), or "normal" for standard normal |

Function MarkovTest performs the log-rank test described in Titman & Putter (2020). Function optimal_weights_matrix implements the optimal weighting for the state-specific trace. Function optimal_weights_multiple implements the optimal weighting for the chi-squared trace.

MarkovTest returns an object of class "MarkovTest", which is a list with the following items:

`orig_stat` |
Summary statistic for each of the starting states |

`orig_ch_stat` |
Overall chi-squared summary statistic |

`p_stat_wb` |
P-values corresponding to each of the summary statistics for each starting state |

`p_ch_stat_wb` |
P-values for overall chi-squared summary statistic |

`b_stat_wb` |
Bootstrap summary statistics for each of the starting states |

`zbar` |
Individual traces for each of the starting states |

`nobs_grid` |
The number of events after time s for each s in the grid |

`Nsub` |
Number of patients who are ever at risk of the transition of interest |

`est_quant` |
Pointwise 2.5 and 97.5 quantile limits for each of the traces |

`obs_chisq_trace` |
Trace of the chi-squared statistic |

`nch_wb_trace` |
Individual values of the chi-squared statistic trace for the wild bootstrap samples |

`n_wb_trace` |
Individual values of the log-rank z statistic traces for the wild bootstrap samples |

`est_cov` |
Estimated covariance matrix between the log-rank statistics at each grid point |

`transition` |
The transition number tested |

`from` |
The from state of the transition tested |

`to` |
The to state of the transition tested |

`B` |
The number of wild bootstrap replications |

`dist` |
The distribution used in the wild bootstrap |

`qualset` |
Set of qualifying states corresponding to the components of the above traces |

`coxfit` |
Fitted coxph object |

`fn` |
List of functions applied to state-specific trace |

`fn2` |
List of functions applied to overall trace |

Andrew Titman a.titman@lancaster.ac.uk, transported to mstate by Hein Putter H.Putter@lumc.nl

Titman AC, Putter H (2020). General tests of the Markov property
in multi-state models. *Biostatistics* To appear.

```
## Not run:
# Example provided by the prothrombin data
data("prothr")
# Apply Markov test to grid of monthly time points over the first 7.5 years
year <- 365.25
month <- year / 12
grid <- month * (1 : 90)
# Markov test for transition 1 (wild bootstrap based on 25 replications, 1000 recommended)
MT <- MarkovTest(prothr, id = "id", transition = 1,
grid = grid, B = 25)
# Plot traces
plot(MT, grid, what="states", idx=1:10, states=rownames(attr(prothr, "trans")),
xlab="Days since randomisation", ylab="Log-rank test statistic",
main="Transition Normal -> Low")
plot(MT, grid,what="overall", idx=1:10,
xlab="Days since randomisation", ylab="Chi-square test statistic",
main="Transition Normal -> Low")
# Example using optimal weights and adjustment for covariates
oweights_fun <-
optimal_weights_matrix(prothr, id = "id", grid=grid, transition = 1,
other_weights=list(
function(x) mean(abs(x),na.rm=TRUE),
function(x) max(abs(x),na.rm=TRUE)))
oweights_chi <- optimal_weights_multiple(prothr, id = "id", grid=grid, transition = 1)
# Formula in MarkovTest only works for continuous covariates and dummy coded variables
# No factors allowed
prothr$prednisone <- as.numeric(prothr$treat == "Prednisone")
MT <- MarkovTest(prothr, id = "id",
formula = "prednisone",
transition = 1,
grid = grid, B = 25,
fn = oweights_fun,
fn2 = list(
function(x) weighted.mean(x, w=oweights_chi, na.rm=TRUE),
function(x) mean(x, na.rm=TRUE),
function(x) max(x, na.rm=TRUE)))
## End(Not run)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.