Spaghetti plot for longitudinal data
Usage
spaghetti(
formula,
data = NULL,
id = "id",
group = NULL,
type = "o",
lty = 1,
pch = NA,
col = 1:10,
alpha = 0.3,
lwd = 1,
level = 0.95,
trend.formula = formula,
tau = NULL,
trend.lty = 1,
trend.join = TRUE,
trend.delta = 0.2,
trend = !is.null(tau),
trend.col = col,
trend.alpha = 0.2,
trend.lwd = 3,
trend.jitter = 0,
legend = NULL,
by = NULL,
xlab = "Time",
ylab = "",
add = FALSE,
...
)Arguments
- formula
Formula (response ~ time)
- data
data.frame
- id
Id variable
- group
group variable
- type
Type (line 'l', stair 's', ...)
- lty
Line type
- pch
Colour
- col
Colour
- alpha
transparency (0-1)
- lwd
Line width
- level
Confidence level
- trend.formula
Formula for trendline
- tau
Quantile to estimate (trend)
- trend.lty
Trend line type
- trend.join
Trend polygon
- trend.delta
Length of limit bars
- trend
Add trend line
- trend.col
Colour of trend line
- trend.alpha
Transparency
- trend.lwd
Trend line width
- trend.jitter
Jitter amount
- legend
Legend
- by
make separate plot for each level in 'by' (formula, name of column, or vector)
- xlab
Label of X-axis
- ylab
Label of Y-axis
- add
Add to existing device
- ...
Additional arguments to lower level arguments
Examples
if (interactive() & requireNamespace("mets")) {
K <- 5
y <- "y"%++%seq(K)
m <- lvm()
regression(m,y=y,x=~u) <- 1
regression(m,y=y,x=~s) <- seq(K)-1
regression(m,y=y,x=~x) <- "b"
N <- 50
d <- sim(m,N); d$z <- rbinom(N,1,0.5)
dd <- mets::fast.reshape(d); dd$num <- dd$num+3
spaghetti(y~num,dd,id="id",lty=1,col=Col(1,.4),
trend.formula=~factor(num),trend=TRUE,trend.col="darkblue")
dd$num <- dd$num+rnorm(nrow(dd),sd=0.5) ## Unbalance
spaghetti(y~num,dd,id="id",lty=1,col=Col(1,.4),
trend=TRUE,trend.col="darkblue")
spaghetti(y~num,dd,id="id",lty=1,col=Col(1,.4),
trend.formula=~num+I(num^2),trend=TRUE,trend.col="darkblue")
}
