Kennzeichnung Ausreißer von Boxplots in R
Habe ich den code, der erzeugt einen boxplot mit ggplot in R, ich möchte mein label "Ausreißer" mit dem Jahr und der Schlacht.
Hier ist mein code, um meine boxplot
require(ggplot2)
ggplot(seabattle, aes(x=PortugesOutcome,y=RatioPort2Dutch ),xlim="OutCome",
y="Ratio of Portuguese to Dutch/British ships") +
geom_boxplot(outlier.size=2,outlier.colour="green") +
stat_summary(fun.y="mean", geom = "point", shape=23, size =3, fill="pink") +
ggtitle("Portugese Sea Battles")
Kann jemand helfen? Ich wusste, dass dies richtig ist, ich will nur den label der Ausreißer.
- Was passiert mit den Daten
seabattle
kommen? Können Siedput
die Daten oder geben Sie Beispieldaten, um in diesem Beispiel reproduzierbar? - Alles, was du schon versucht hast?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende ist eine reproduzierbare Lösung, verwendet
dplyr
und die built-inmtcars
dataset.Fuß durch den code: erstellen Sie Zunächst eine Funktion,
is_outlier
wird, geben einen booleschen Wert zurückTRUE/FALSE
wenn der übergebene Wert ist ein Ausreisser. Wir führen Sie dann den "Analyse/Kontrolle" und eine Darstellung der Daten -- zuerst haben wirgroup_by
unsere variable (cyl
in diesem Beispiel, in deinem Beispiel wäre diesPortugesOutcome
) und fügen wir eine variableoutlier
im Aufrufmutate
(wenn diedrat
variable ist ein Ausreißer [Hinweis: dies entsprichtRatioPort2Dutch
in deinem Beispiel], geben wir diedrat
Wert, sonst werden wir zurückNA
so, dass Wert ist nicht gezeichnet). Endlich, wir zeichnen die Ergebnisse und zeichnen Sie die text-Werte übergeom_text
- und eine ästhetische label gleich unsere neue variable; darüber hinaus haben wir den offset der text (schieben Sie es etwas nach rechts) mithjust
so dass wir sehen können, die Werte weiter zu, anstatt auf der Oberseite, die Ausreißer-Punkte.Macht diese Arbeit für Sie?
ggplot definiert einen Ausreißer standardmäßig als etwas das ist > 1.5*IQR von den Grenzen der box.
Zur Beschriftung der Ausreißer mit rownames (basierend auf JasonAizkalns Antwort)
Ähnliche Antwort zu oben, wird aber Ausreißer direkt aus
ggplot2
, damit Vermeidung von potenziellen Konflikten in der Methode:Können Sie dies einfach innerhalb von
ggplot
sich, mit einem geeignetenstat_summary
nennen.Mit einem kleinen twist auf @JasonAizkalns Lösung können Sie label Ausreißer mit Ihrem Standort in Ihrem data frame.
Lade ich die Daten-Frames in der R-Studio-Umgebung, kann ich dann also nehmen Sie einen genaueren Blick auf die Daten Ausreißer Zeilen.