Learn R Programming

dMod (version 0.3.2)

plotCombined: Plot a list of model predictions and a list of data points in a combined plot

Description

Plot a list of model predictions and a list of data points in a combined plot

Usage

plotCombined(prediction, data = NULL, ..., scales = "free",
  facet = "wrap", transform = NULL)

# S3 method for prdlist plot(x, data = NULL, ..., scales = "free", facet = "wrap", transform = NULL)

# S3 method for prdframe plot(x, data = NULL, ..., scales = "free", facet = "wrap", transform = NULL)

Arguments

prediction

Named list of matrices or data.frames, usually the output of a prediction function as generated by Xs.

data

Named list of data.frames as being used in res, i.e. with columns name, time, value and sigma.

...

Further arguments going to subset.

scales

The scales argument of facet_wrap or facet_grid, i.e. "free", "fixed", "free_x" or "free_y"

facet

Either "wrap" or "grid"

transform

list of transformation for the states, see coordTransform.

x

prediction

Value

A plot object of class ggplot.

Details

The data.frame being plotted has columns time, value, sigma, name and condition.

Examples

Run this code
# NOT RUN {
## Observation function
fn <- eqnvec(
  sine = "1 + sin(6.28*omega*time)",
  cosine = "cos(6.28*omega*time)"
)
g <- Y(fn, parameters = "omega")

## Prediction function for time
x <- Xt()

## Parameter transformations to split conditions
p <- NULL
for (i in 1:3) {
  p <- p + P(trafo = c(omega = paste0("omega_", i)), condition = paste0("frequency_", i))
}

## Evaluate prediction
times <- seq(0, 1, .01)
pars <- structure(seq(1, 2, length.out = 3), names = attr(p, "parameters"))

prediction <- (g*x*p)(times, pars)

## Plotting prediction
plot(prediction)
plotPrediction(prediction)
plotPrediction(prediction, scales = "fixed")
plotPrediction(prediction, facet = "grid")
plotPrediction(prediction, 
               scales = "fixed",
               transform = list(sine = "x^2", cosine = "x - 1"))

## Simulate data
dataset <- wide2long(prediction)
dataset <- dataset[seq(1, nrow(dataset), 5),]
dataset$value <- dataset$value + rnorm(nrow(dataset), 0, .1)
dataset$sigma <- 0.1
data <- as.datalist(dataset, split.by = "condition")

## Plotting data
plot(data)
plotData(data)

## Plotting data and prediction with subsetting
plot(prediction, data)
plotCombined(prediction, data)
plotCombined(prediction, data, 
             time <= 0.5 & condition == "frequency_1")
plotCombined(prediction, data, 
             time <= 0.5 & condition != "frequency_1", 
             facet = "grid")
# }

Run the code above in your browser using DataLab