Diese als oben etwas anderen Ansatz ist (weist eine Farbvariable mit NA für nicht Ausreißer), und enthält eine Korrektur für die oberen und unteren Grenzen Berechnungen.
Die Standarddefinition "Ausreißer" ist ein Punkt jenseits des 25/75. Quartils +/- 1,5 x des Interquartilbereichs (IQR).
erzeugen einige Beispieldaten:
set.seed(1)
a <- data_frame(x= factor(rep(1:4, each = 1000)),
V8 = c(rnorm(1000, 25, 4),
rnorm(1000, 50, 4),
rnorm(1000, 75, 4),
rnorm(1000, 100, 4)))
berechnet das obere/untere Grenze Ausreißer (verwendet dplyr/tidyverse Funktionen):
library(tidyverse)
a <- a %>% group_by(x) %>%
mutate(outlier.high = V8 > quantile(V8, .75) + 1.50*IQR(V8),
outlier.low = V8 < quantile(V8, .25) - 1.50*IQR(V8))
eine Farbe definieren für die oberen/unteren Punkte:
Die nicht klassifizierten Fälle werden als "NA" für Farbe, a codiert nd erscheint nicht in der Handlung.
Die dplyr::case_when()
Funktion ist nicht vollständig stabil noch, so ist hier eine Basis Alternative (kann Github Entwicklungsversion> 0,5 bei enter link description here erforderlich), wenn das nicht funktioniert:
a$outlier.color <- NA
a$outlier.color[a$outlier.high] <- "red"
a$outlier.color[a$outlier.low] <- "steelblue"
Grundstück:
a %>% ggplot(aes(x, V8)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(color = a$outlier.color, width = .2) + # NA not plotted
theme_bw() + coord_flip()
Können Sie uns ein reproduzierbares Beispiel geben? –