Ho 40 soggetti, di due gruppi, oltre 15 settimane, con qualche variabile misurata (Y).Aggiunta di linee di tendenza/boxplot (per gruppo) in ggplot2
Desidero avere un grafico dove: x = tempo, y = T, le linee sono per soggetti e colori per gruppi.
ho trovato si può fare in questo modo:
TIME <- paste("week",5:20)
ID <- 1:40
GROUP <- sample(c("a","b"),length(ID), replace = T)
group.id <- data.frame(GROUP, ID)
a <- expand.grid(TIME, ID)
colnames(a) <-c("TIME", "ID")
group.id.time <- merge(a, group.id)
Y <- rnorm(dim(group.id.time)[1], mean = ifelse(group.id.time$GROUP =="a",1,3))
DATA <- cbind(group.id.time, Y)
qplot(data = DATA,
x=TIME, y=Y,
group=ID,
geom = c("line"),colour = GROUP)
Ma ora vorrei aggiungere alla trama qualcosa per mostrare la differenza tra i due gruppi (per esempio, una linea di tendenza per ogni gruppo, con alcune ombreggiature CI) - come può essere fatto?
Ricordo di aver visto ggplot2 (facilmente) farlo con geom_smooth, ma mi manca qualcosa su come farlo funzionare.
Inoltre, mi sono chiesto se le linee fossero come un boxplot per ogni gruppo (con una linea per i diversi quantili e recinzioni e così via). Ma immagino che rispondere alla prima domanda mi aiuterebbe a risolvere il secondo.
Grazie.
Grazie rcs. Come posso cambiare l'SE in grigio al 95% anziché al 68%? –
Vorrei solo notare che gli intervalli di smoothing di default non tengono conto (a mia conoscenza) di qualsiasi auto-correlazione presente nel soggetto. I dati longitudinali avranno quasi certamente una struttura di correlazione. Mi piace molto questo tipo di trama. –
Puoi usare 'level' in' stat_smooth' (0.95 per impostazione predefinita): 'p + geom_smooth (livello = 0.95, aes (group = GROUP))' – rcs