Уменьшить количество классов в p ie диаграмме ggplot 2 - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь разработать диаграмму ap ie, мои данные - это числа (1:61), я поместил их в виде символа, когда набор данных был импортирован y мой сценарий ...

    porcentaje<-review_a_r %>% 
  group_by(s_s) %>% 
  count() %>% 
  ungroup() %>% 
  mutate(percentage=`n`/sum(`n`) * 100)

ggplot(porcentaje, aes(x=1, y=percentage, fill=s_s)) +
   geom_bar(stat="identity") +
  geom_text(aes(label = paste0(round(percentage,1),"%")),
            position = position_stack(vjust = 0.5)) +
  coord_polar(theta = "y") + 
   theme_void()

введите здесь описание изображения

Как я могу получить только классы с процентом> = 10%, а остальные находятся в разделе «другие» ??

1 Ответ

0 голосов
/ 10 мая 2020

Рассмотрим такой подход:

porcentaje <- porcentaje %>% mutate(flag = case_when(percentage <= 10 ~ "Other",
                                                     percentage > 10 ~ s_s))

Здесь я создал новую переменную. case_when () фактически является векторизованным if / else, но что я сделал, так это присвоил чему-либо с процентом меньше или равным 10 флаг «другое», а всему остальному - флаг, равный s_s. Затем вы можете раскрасить по переменной "flag", например

ggplot(porcentaje, aes(x=1, y=percentage, fill=flag)) +
   geom_bar(stat="identity") +
  geom_text(aes(label = paste0(round(percentage,1),"%")),
            position = position_stack(vjust = 0.5)) +
  coord_polar(theta = "y") + 
   theme_void()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...