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)
)