Ho un diagramma a dispersione sfaccettato ggplot2
e desidero stampare le statistiche di riepilogo sulla regressione lineare su ogni sfaccettatura, come è stato fatto here e here. A differenza di questi esempi, sto usando scales="free"
, e gli intervalli dei dati in ogni facet sono piuttosto diversi, ma vorrei che le statistiche di riepilogo si presentassero nella stessa posizione relativa in ogni faccetta (ad esempio, in alto a destra, o qualsiasi altra cosa). Come posso specificare a geom_text
o annotate
che l'etichetta debba apparire nella stessa posizione relativa al pannello?Stampa i dati di correlazione nella stessa posizione di trama tra le faccette
Dove mi trovo ora:
# Fake data
set.seed(2112)
x <- c(1:10, 6:15)
y <- x + c(runif(10), runif(10)*10)
l <- gl(2, 10)
d <- data.frame(x=x, y=y, l=l)
# Calculate a summary statistic (here, the r-squared) in a separate data frame
r_df <- ddply(d, .(l), summarise, rsq=round(summary(lm(y~x))$r.squared, 2))
# Use geom_text and a separate data frame to print the summary statistic
ggplot(d, aes(x=x, y=y)) +
geom_text(data=r_df, aes(x=8, y=8, label=paste("rsq=", rsq)))+
geom_point() +
facet_wrap(~l, scales="free")
Vorrei, invece, di avere ggplot
posizionare automaticamente il testo nella stessa posizione relativa in ogni sfaccettatura.
Immagino che una soluzione più generale riguardi l'analisi della griglia grafica? –
@DrewSteen Sarebbe necessario scavare nella griglia per la soluzione più generale poiché tutte le specifiche all'interno dell'area di stampa in ggplot sono specificate nello spazio dati e per la stessa posizione relativa si desidera specificarle nello spazio di visualizzazione. –
Ci andrò se qualcuno mi mostrerà come! –