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
**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 - Partial Response (PR): ≤ -30 - Stable Disease (SD): -30 - Progressive Disease (PD): > +20
Super classes
jmvcore::Analysis -> OncoPath::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()OncoPath::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)
)