Problema al pasar variable con notación de signo de dólar ($) a aes () en combinación con facet_grid () o facet_wrap ()

Estoy haciendo un análisis en ggplot2 en este momento para un proyecto y por casualidad me topé con un comportamiento extraño (para mí) que no puedo explicar. Cuando yo escriboaes(x = cyl, ...) la trama se ve diferente a lo que hace si paso la misma variable usandoaes(x = mtcars$cyl, ...). Cuando quitofacet_grid(am ~ .) ambas gráficas son iguales nuevamente. El código siguiente se basa en el código de mi proyecto que genera el mismo comportamiento:

library(dplyr)
library(ggplot2)

data = mtcars

test.data = data %>%
  select(-hp)


ggplot(test.data, aes(x = test.data$cyl, y = mpg)) +
  geom_point() + 
  facet_grid(am ~ .) +
  labs(title="graph 1 - dollar sign notation")

ggplot(test.data, aes(x = cyl, y = mpg)) +
  geom_point()+ 
  facet_grid(am ~ .) +
  labs(title="graph 2 - no dollar sign notation")

Aquí está la imagen del gráfico 1:

Aquí está la imagen del gráfico 2:

Descubrí que puedo solucionar este problema usandoaes_string en lugar deaes y pasando los nombres de las variables como cadenas, pero me gustaría entender por qué ggplot se comporta de esa manera. El problema también ocurre en intentos similares confacet_wrap.

Muchas gracias por cualquier ayuda de antemano! Me siento muy incómodo si no lo entiendo correctamente ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta