Объедините группы в одну группу, чтобы отобразить их в блокпосте (ggplot2, R) - PullRequest
1 голос
/ 03 июня 2019

Я использую набор данных mtcars в качестве примера и использую этот код.

library(ggplot2)
library(ggsci)
ggviolin(mtcars, x="cyl", y="disp", fill="cyl", palette="jco", facet.by = "am")

К каждому аспекту я хотел бы добавить четвертую категорию по оси x (возможно, назовите это "6or8""), в которой объединены группы из 6 и 8 цилиндров (но не группа из 4 цилиндров).Я нашел этот похожий пост , но он мне не помог, из-за моих граней и добавления двух вместо всех категорий.

У кого-нибудь есть предложения?Спасибо.

1 Ответ

1 голос
/ 03 июня 2019

Вы можете попробовать это:

> newmtcars <- rbind(mtcars %>% mutate(cyl = as.character(cyl)),
+                    mtcars %>% filter(cyl %in% c(6,8)) %>% mutate(cyl = '6or8')) %>% arrange(cyl)
> ggviolin(newmtcars, x="cyl", y="disp", fill="cyl", palette="jco", facet.by = "am")

Вы можете вручную изменить уровни для cyl, чтобы изменить порядок на графике (если, например, вы хотите, чтобы «6 или 8» был первым / последним уровнем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...