Ich habe die Handlung unten, mit diesem Code (siehe unten für Daten), aber wie ich kämpfe, um group
im aes
Aufruf erhalten eine sinnvolle Legende für (die schwarze und die blaue Linie). Ich versuche, die zwei geom_abline
in irgendeiner Weise zu kombinieren. Jede Hilfe wäre willkommen, danke!kombiniert meine zwei `geom_abline` in ggplot2, um die Legende zu bekommen
# install.packages("ggplot2", dependencies = TRUE)
library(ggplot2)
p1 <- ggplot(dfn, aes(x, y)) +
geom_jitter(position = position_jitter(width = .05, height = 0)) +
scale_x_continuous(breaks=c(0,1), labels=c("0", "1")) +
geom_abline(aes(intercept = in.a, slope = sl.a)) +
geom_abline(aes(intercept = in.b, slope = sl.b), colour="blue") +
facet_wrap(~ group, ncol = 2)
p1
## data
dfn <- data.frame(
x = sample(c(0,1), 91, replace = TRUE),
y = rnorm(91, mean = 1, sd = 2),
in.a = rep(1.31, 91),
sl.a = rep(-0.61, 91),
in.b = c(0.62, 0.62, 0.62, 0.62, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90,
1.41, 1.41, 1.41, 1.68, 1.68, 1.68, 1.68, 1.68,
1.68, 1.68, 1.29, 1.29, 1.29, 1.29, 1.49, 1.49,
1.49, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85,
1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 2.08,
2.08, 2.08, 2.08), sl.b =
c(0.18, 0.18, 0.18, 0.18, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-1.20, -1.20, -1.20, -1.20, -1.20, -1.20, -1.20,
-0.54, -0.54, -0.54, -0.97, -0.97, -0.97, -0.97,
-0.97, -0.97, -0.97, -0.22, -0.22, -0.22, -0.22,
0.06, 0.06, 0.06, 0.35, 0.35, 0.35, 0.35,
0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35,
0.35, 0.35, 0.35, -0.93, -0.93, -0.93, -0.93
),
group = c(1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L)
)
Ihr Problem ist, dass Sie versuchen, die abline zu zerschlagen Informationen in den gleichen Datenrahmen wie der Rest der Daten. Sie benötigen einen separaten Datenrahmen mit 16 Zeilen, zwei für jedes Feld, eine Gruppierungsvariable "Farbe" und dann Spalten für Neigung und Intercept. – joran
Danke. Ich verstehe es auf einer konzeptionellen Ebene, aber wo ich feststecke, ist in der Ausführung. –
Ich werde versuchen, etwas zusammenzufügen ... – joran