ggplot2 geom_line () debe apuntar al valor especificado

He escrito el siguiente código:

library(ggplot2)

data <- structure(list(x = c(1L, 6L, 3L, 4L, 2L, 3L, 6L, 1L, 5L, 2L, 
                    1L, 5L), y = c(1L, 7L, 5L, 6L, 3L, 4L, 6L, 2L, 5L, 6L, 5L, 2L
            ), year = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
                            2L, 2L), .Label = c("2010", "2011"), class = "factor"), matching = structure(c(1L, 
                            2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L), .Label = c("person1", 
                            "person2", "person3", "person4", "person5", "person6"), class = "factor")), .Names = c("x", 
            "y", "year", "matching"), row.names = c(NA, -12L), class = "data.frame")

data$year <- factor(data$year)

colors <- c("#4cb5ee", "#a0d099", "red")

p <- ggplot(data, aes(x=x, y=y)) +
    geom_point(aes(colour=year), shape=16, size=6) +
    geom_line(aes(group=matching), arrow=arrow(length=unit(0.15,"cm")), colour="black", size=1) +
    xlab("x") + ylab("y") +
    scale_colour_manual("year", values=colors) +
    scale_x_continuous(limits=c(1,7), breaks=seq(1,7, by=1)) +
    scale_y_continuous(limits=c(1,7), breaks=seq(1,7, by=1))

print(p)

Da el siguiente resultado:

Pero lo que quiero que geom_line () haga es: siempre apunta al punto donde año = 2011. No puedo entender por qué la flecha de la línea apunta a veces a un punto que se refiere a año = 2010 y a veces apunta a un punto donde año = 2011.

o que descubrí es que la flecha toma varios argumentos:

arrow(angle = 30, length = unit(0.25, "inches"), ends = "last", type = "open") 

Así que podría decirends="first". Pero no puedo generalizar queends es siemprefirst o siemprelast.

ntenté agregar una columna a mi data.frame que tiene la información de si la flecha debe terminar primero o al final, pero no me dio el resultado que quería.

Cada ayuda es muy apreciada: -)

¡Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta