Creates waterfall and spider plots to visualize tumor response data following RECIST criteria. Supports both raw tumor measurements and pre-calculated percentage changes.
Details
The function handles two data formats:
Percentage Data: Pre-calculated percentage changes from baseline
Negative values indicate tumor shrinkage (improvement)
Example: -30 means 30% decrease from baseline
Raw Measurements: Actual tumor measurements over time
Requires baseline measurement at time = 0
Function calculates percentage changes automatically
Uses ((current - baseline) / baseline) * 100 formula
RECIST Categories:
Complete Response (CR): ≤ -100% (complete disappearance)
Partial Response (PR): ≤ -30% decrease
Stable Disease (SD): -30% to +20% change
Progressive Disease (PD): > +20% increase
Super classes
jmvcore::Analysis -> ClinicoPath::waterfallBase -> waterfallClass
Methods
Inherited methods
jmvcore::Analysis$.createImage()jmvcore::Analysis$.createImages()jmvcore::Analysis$.createPlotObject()jmvcore::Analysis$.load()jmvcore::Analysis$.render()jmvcore::Analysis$.save()jmvcore::Analysis$.savePart()jmvcore::Analysis$.setCheckpoint()jmvcore::Analysis$.setParent()jmvcore::Analysis$.setReadDatasetHeaderSource()jmvcore::Analysis$.setReadDatasetSource()jmvcore::Analysis$.setResourcesPathSource()jmvcore::Analysis$.setStatePathSource()jmvcore::Analysis$addAddon()jmvcore::Analysis$asProtoBuf()jmvcore::Analysis$asSource()jmvcore::Analysis$check()jmvcore::Analysis$init()jmvcore::Analysis$optionsChangedHandler()jmvcore::Analysis$postInit()jmvcore::Analysis$print()jmvcore::Analysis$readDataset()jmvcore::Analysis$run()jmvcore::Analysis$serialize()jmvcore::Analysis$setError()jmvcore::Analysis$setStatus()jmvcore::Analysis$translate()ClinicoPath::waterfallBase$initialize()
Examples
# Percentage data example
data_pct <- data.frame(
PatientID = paste0("PT", 1:5),
Response = c(-60, -35, -10, 15, 45)
)
# Raw measurements example
data_raw <- data.frame(
PatientID = rep(paste0("PT", 1:3), each = 3),
Time = rep(c(0, 2, 4), 3),
Measurement = c(50, 30, 25, 60, 45, 40, 55, 50, 48)
)