Добавление значения счетчика к гистограмме «qplot»

#r #ggplot2 #histogram

#r #ggplot2 #гистограмма

Вопрос:

Мне интересно, как я могу добавить значение count к графику гистограммы, который строится с помощью qplot ?

     qplot(cluster_name$km.out1.cluster, geom="histogram",binwidth = 0.5,
main = "Histogram for clusters Number", xlab = "cluster number", fill=I("blue"))   
  theme(plot.title = element_text(hjust = 0.5)) 
  

Я попытался добавить

   stat_bin(aes(y=..count..,label=..count..), geom="text", vjust=-.5, binwidth = 0.5)
  

однако эта команда добавит кучу нулей по оси x, что не то, что я хочу. Я попытался удалить label , но получил сообщение об ошибке. Пожалуйста, смотрите изображение результата ниже:
введите описание изображения здесь

Ответ №1:

Чтобы предотвратить помечение нулевых значений, вы можете добавить ifelse оператор к stat_bin or geom_text , который устанавливает метку в пустую строку для нулевых значений.

Используя mtcars в качестве примера данных, попробуйте следующее:

 library(ggplot2)

qplot(mtcars$mpg, geom="histogram",binwidth = 0.5,
      main = "Histogram for clusters Number", xlab = "cluster number", fill=I("blue"))   
  theme(plot.title = element_text(hjust = 0.5))  
  stat_bin(aes(y=..count..,label = ifelse(..count.. > 0, ..count.., "")), geom="text", vjust=-.5, binwidth = 0.5)
  

Комментарии:

1. спасибо, Стефан, это сработало. Не могли бы вы также объяснить, что именно мы делаем, когда добавляем «y = ..count ..» или «..count.. > 0, ..count.., «». Я не знаком с «..» (две точки), которые вы использовали.

2. Ах. Извините. Поскольку вы использовали ..count.. в своем коде, я думал, вы знакомы с этим. Каждый уровень статистики, подобный stat_bin или stat_count , вычисляет переменные под капотом, например, количество в ячейке. Список вычисленных переменных можно найти в пакете справки stat или geom, например ?stat_bin. Чтобы получить доступ к этим вычисляемым переменным и использовать их как обычные переменные, мы используем обозначение ..NAME_OF_COMPUTED_VARIABLE.. .