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)