R: "Ошибка в facet_grid" - "неиспользованный аргумент"

Я пытаюсь построить некоторые данные из моего эксперимента в R, используя ggplot2 и я пытаюсь разбить график на две части, используя facet_grid(),

Вот MWE, который я построил с набором данных автомобилей:

data(mtcars)
ggplot(data=mtcars, aes(x=mtcars$mpg,y=mtcars$cyl)) + 
  geom_point()+
  facet_grid(rows=mtcars$disp)

Я получаю следующую ошибку:

Error in facet_grid(rows = mtcars$disp) : 
  unused argument (rows = mtcars$disp)

Я действительно понятия не имею, почему это происходит. Я использовал эту функцию раньше, и она работала нормально. Был бы признателен за идеи о том, как решить эту проблему.

редактировать: я принял второй ответ, потому что он предоставляет немного больше контекста, но, как я вижу, оба одинаково правильно указывают, что мне нужно указать имя переменной в кавычках. Фактическая ошибка была устранена после установки R и всех пакетов снова. Теперь у меня новая ошибка, но это уже другая история. Еще раз спасибо!

2 ответа

Решение

Во-первых, не обращайтесь к mtcars в пределах aes() вызов. Во-вторых, процитируйте аргумент аспекта.

library(ggplot2)    
ggplot(data=mtcars, aes(x=mpg,y=cyl)) + 
  geom_point()+
  facet_grid(rows="disp")

Кроме того, рассмотрите возможность создания новой переменной, которая сворачивается disp на меньшее количество значений для фасета, чтобы быть более значимым и читаемым.

Вот пример четырех произвольных точек разреза.

mtcars$disp_cut_4 <- cut(mtcars$disp, breaks=c(0, 200, 300, 400, 500))
ggplot(data=mtcars, aes(x=mpg,y=cyl)) + 
  geom_point()+
  facet_grid(rows="disp_cut_4")

Это должно сделать:

ggplot(data=mtcars, aes(mpg, cyl)) + 
 geom_point()+
 facet_grid(rows = "disp")

альтернативно:

ggplot(data=mtcars, aes(mpg, cyl)) + 
 geom_point()+
 facet_grid(~disp)
Другие вопросы по тегам