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.