library(ggplot2)
orderX <- c("A" = 1, "B" = 2, "C" = 3)
y <- rnorm(20)
x <- as.character(1:20)
group <- c(rep("A", 5), rep("B", 7), rep("C", 5), rep("A", 3))
df <- data.frame(x, y, group)
df$lvls <- as.numeric(orderX[df$group])
ggplot(data = df, aes(x=reorder(df$x, df$lvls), y=y)) +
geom_point(aes(colour = group)) +
geom_line(stat = "hline", yintercept = "mean", aes(colour = group))
Chcę utworzyć wykres takiego: ggplot2: dodaj linię do średniej w grupie
To działa, kiedy nie trzeba uporządkować wartości X, jednak kiedy robię użyj zmiany kolejności, to już nie działa.
myślę korzystanie z Reorder myli się tutaj, ponieważ po prostu zmieni kolejność X, a nie grupy lub Y. Spowoduje to wydrukowanie błędnego x z nieprawidłowym y! –
O ile X nie oznacza niczego oprócz indeksu, w takim przypadku nie używaj go na działce (użyj jitter zamiast?) –
Wtedy moje użycie kolejki jest błędne. W moich prawdziwych danych wartości na x są etykietami dla każdego pojedynczego pomiaru, który chcę zobaczyć. Zamawianie tych etykiet w grupach nie ma znaczenia. – wligtenberg