Ich baue ein Quantil-Quantil-Plot aus einer Variablen namens x
aus einem Datenrahmen namens df
in dem unten angegebenen Arbeitsbeispiel. Ich möchte die Punkte mit der name
Variablen meines df
Datensatzes beschriften.Wie kann ich die Punkte eines mit ggplot2 erstellten Quantil-Quantil-Diagramms beschriften?
Ist es möglich, dies in ggplot2 ohne Rückgriff auf die schmerzhafte Lösung (Codierung der theoretischen Verteilung von Hand und dann gegen die empirische) zu tun?
Edit: es passiert, dass ja, dank eines Benutzers, der seine Antwort veröffentlicht und dann gelöscht hat. Siehe die Kommentare nach Aruns Antwort unten. Danke an Didzis für seine ansonsten clevere Lösung mit ggbuild
.
# MWE
df <- structure(list(name = structure(c(1L, 2L, 3L, 4L, 5L, 7L, 9L,
10L, 6L, 12L, 13L, 14L, 15L, 16L, 17L, 19L, 18L, 20L, 21L, 22L,
8L, 23L, 11L, 24L), .Label = c("AUS", "AUT", "BEL", "CAN", "CYP",
"DEU", "DNK", "ESP", "FIN", "FRA", "GBR", "GRC", "IRL", "ITA",
"JPN", "MLT", "NLD", "NOR", "NZL", "PRT", "SVK", "SVN", "SWE",
"USA"), class = "factor"), x = c(-0.739390016757746, 0.358177826874146,
1.10474523846099, -0.250589535389937, -0.423112615445571, -0.862144579740376,
0.823039669834058, 0.079521521937704, 1.08173649722493, -2.03962942823921,
1.05571087029737, 0.187147291278723, -0.144770773941437, 0.957990771847331,
-0.0546549555439176, -2.70142550075757, -0.391588386498849, -0.23855544527369,
-0.242781575907386, -0.176765072121165, 0.105155860923456, 2.69031085872414,
-0.158320176671995, -0.564560815972446)), .Names = c("name",
"x"), row.names = c(NA, -24L), class = "data.frame")
library(ggplot2)
qplot(sample = x, data = df) + geom_abline(linetype = "dotted") + theme_bw()
# ... using names instead of points would allow to spot the outliers
ich auf einer Anpassung des this gist arbeite, und sendet andere Fragen zu CrossValidated beachten, wenn ich Fragen über die Regressionsdiagnose haben, die von Interesse für CV-Benutzer sein könnten.
jemand gepostet eine noch direkte Lösung als Didzis und es gelöscht. Es war etwas wie 'ggplot (df, aes (Beispiel = x)) + geom_text (Label = df $ name, stat =" qq ") + geom_abline (Linientyp =" gepunktet ")'. Falls Sie interessiert sind. – Arun