View source: R/makespaghetti.R
make.spaghetti | R Documentation |
A spaghetti plot, or trajectory plot, is a plot that allows to compare across individuals or groups the trajectories of a longitudinal outcome
make.spaghetti(x, y, id, group = NULL, data, col = NULL, pch = 16, lty = 1, lwd = 1, title = "", xlab = NA, ylab = NA, legend.title = "", xlim = NULL, ylim = NULL, cex.axis = 1, cex.title = 1, cex.lab = 1, cex.leg = 1, margins = NULL, legend.inset = -0.3, legend.space = 1)
x |
the time variable (numeric vector) |
y |
the longitudinal outcome (numeric vector) |
id |
the subject indicator |
group |
the group that each subject belongs to (optional, do not specify if not relevant) |
data |
a data frame containing x, y, id and optionally group |
col |
a vector of colors (optional) |
pch |
dot type |
lty |
line type |
lwd |
line width |
title |
plot title |
xlab |
label for the x axis |
ylab |
label for the y axis |
legend.title |
legend title |
xlim |
limits for the x axis |
ylim |
limits for the y axis |
cex.axis |
font size for the axes |
cex.title |
title font size |
cex.lab |
font size for axis labels |
cex.leg |
font size for the legend |
margins |
use this argument if you want to overwrite the default function margins |
legend.inset |
moves legend more to the left / right (default is -0.3) |
legend.space |
interspace between lines in the legend (default is 1) |
Mirko Signorelli
Signorelli, M., Spitali, P., Tsonaka, R. (2021). Poisson-Tweedie mixed-effects model: a flexible approach for the analysis of longitudinal RNA-seq data. Statistical Modelling, 21 (6), 520-545. URL: https://doi.org/10.1177/1471082X20936017
# generate example data set.seed(123) n = 12; t = 6 id = rep(1:n, each = t) rand.int = rep(rnorm(n, sd = 0.5), each = t) group = rep(c(0,1), each = n*t/2) time = rep(0:(t-1), n) offset = rnorm(n*t, sd = 0.3) beta = c(3, 0, 0.1, 0.3) X = model.matrix(~group + time + group*time) mu = 2^(X %*% beta + rand.int + offset) y = rpois(n*t, lambda = mu) group = ifelse(group == 0, 'control', 'treatment') data.long = data.frame(y, group, time, id, offset) rm(list = setdiff(ls(), 'data.long')) # create plot make.spaghetti(x = time, y, id, group, data = data.long, title = 'spaghetti plot')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.