R - ggplot weicht geom_lines @ a

Das war etwas, mit dem ich experimentiert habe, um eine Lösung zu finden, aber im Grunde habe ich mich gefragt, ob es einen schnellen Weg gibt, Lineplots für zwei verschiedene Datensätze in ggplot2 auszuweichen.

ein Code ist derzeit:

#Example data
id <- c("A","A")
var <- c(1,10)
id_num <- c(1,1)
df1 <- data.frame(id,var,id_num)

id <- c("A","A")
var <- c(1,15)
id_num <- c(0.9,0.9)
df2 <- data.frame(id,var,id_num)


#Attempted plot
dodge <- position_dodge(width=0.5)
p<- ggplot(data= df1, aes(x=var, y=id))  +
  geom_line(aes(colour="Group 1"),position="dodge") + 
  geom_line(data= df2,aes(x=var, y=id,colour="Group 2"),position="dodge") +
  scale_color_manual("",values=c("salmon","skyblue2"))
p

Welche produziert:

Hier verbirgt die "Gruppe 2" -Linie die gesamte "Gruppe 1" -Linie, was nicht das ist, was ich will. Stattdessen möchte ich, dass die Zeile "Gruppe 2" unter der Zeile "Gruppe 1" liegt. Ich habe mich umgesehen und diesen vorherigen Beitrag gefunden: ggplot2 versetzte Streudiagrammpunkte aber ich kann den Code scheinbar nicht so anpassen, dass zwei geom_lines einander ausweichen, wenn separate Datenrahmen verwendet werden.

Ich habe meine y-Variablen in numerische Variablen konvertiert und sie leicht verschoben, um die gewünschte Ausgabe zu erhalten, aber ich habe mich gefragt, ob es einen schnelleren / einfacheren Weg gibt, mit der Ausweichfunktion von ggplot oder etwas anderem das gleiche Ergebnis zu erzielen.

Mein Umgehungscode ist einfach:

p<- ggplot(data= df1, aes(x=var, y=id_num))  +
  geom_line(aes(colour="Group 1")) + 
  geom_line(data= df2,aes(x=var, y=id_num,colour="Group 2")) +
  scale_color_manual("",values=c("salmon","skyblue2")) + 
  scale_y_continuous(lim=c(0,1))
p

Gib mir meine gewünschte Ausgabe von:

Gewünschte Ausgabe:

Der numerische Ansatz kann etwas umständlich sein, wenn ich versuche, ihn an meine tatsächlichen Daten anzupassen. Ich muss meine y-Werte in Faktoren konvertieren, sie in numerische Werte ändern und die Werte dann mit dem zweiten Datensatz zusammenführen, sodass ein schnellerer Weg vorzuziehen ist. Vielen Dank im Voraus für Ihre Hilfe

Antworten auf die Frage(2)

Ihre Antwort auf die Frage