R ggplot2 para loop plota os mesmos dados

Eu montei um loop for simples para gerar uma série de gráficos e, em seguida, use grid.arrange para plotá-los. Eu tenho dois problemas:

Os eixos dos gráficos mudam corretamente para os nomes das colunas, mas omesmo os dados são plotados em cada gráfico. Depois de colocar um ponto de interrupção e percorrer o código, ele parece estar sendo incrementado corretamente, por isso não sei por que.

Eu defini a estética da trama para agrupar no ano, no entanto, isso produz 0,5 anos intermediários que aparecem na legenda. Isso não aconteceu comigo antes.

Todos devem ser reproduzíveis usandomtcars.

library(ggplot2)
library(gridExtra)

result <- mtcars

for(i in 1:2) {
  nam <- paste("p", i, sep = "")
  assign(
    nam, ggplot(result, aes(x = disp, y = results[i+4], group = gear, color = gear)) +
      geom_line() +
      geom_point() +
      scale_colour_distiller(palette = "Dark2", direction = -1, guide = "legend") +
      scale_y_continuous(name = colnames(results[i+4])) +
      scale_x_continuous(name = "x")
  )
}


plist <- mget(paste0("p", 1:2))
do.call(grid.arrange, plist)

questionAnswers(4)

yourAnswerToTheQuestion