R: creación de leyenda para tres conjuntos de datos en el mismo gráfico usando ggplot

e preguntaba si era posible crear un cuadro de leyenda para un gráfico que contenga gráficos de varias series usando ggplot en R. Esencialmente, esto es lo que estoy haciendo.

x <- c(1,2,3,4)
y <- c(1.1,1.2,1.3,1.4)
y2 <- c(2.1,2.2,2.3,2.4)
x3 <- c(4,5,6,7)
y3 <- c(3.1,3.2,3.3,3.2)
p1 <- data.frame(x=x,y=y)
p2 <- data.frame(x=x,y=y2)
p3 <- data.frame(x=x3,y=y3)

ggplot(p1, aes(x,y)) + geom_point(color="blue") + geom_point(data=p2, color="red") + geom_point(data=p3,color="yellow") 

El comando anterior hará un gráfico de los tres conjuntos de datos, p1, p2 y p3 en tres colores diferentes. Sé que todavía no he especificado los nombres de cada conjunto de datos, pero ¿cómo haría para crear una leyenda que identifique los diferentes conjuntos de datos? En otras palabras, solo quiero una leyenda que diga que todos los puntos azules son P1, todos los puntos rojos son P2 y todos los puntos amarillos son P3.

Respuestas a la pregunta(1)

Su respuesta a la pregunta