Добавление идентификатора к выбросам в ggplot barplot в R

Я создал сложенный барплот

ggplot(data %>% count(x, y),
        aes(x, n, fill = factor(y))) + 
geom_bar(stat="identity")+
theme_light()+
theme(plot.title = element_text(hjust=0.5))

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

есть (возможные) выбросы на 50,54 и 60. Как я могу добавить их ID в график?

2 ответа

Решение

Если вы опубликуете свои данные, я исправлю этот ответ, используя его. Но в основном вы хотите

df %>%
    count(x, y) %>%
    ggplot(aes(x = x, y = n, fill = y)) +
    geom_col() +
    geom_text(aes(label = x), data = . %>% filter(x >= thresh), vjust = 0, nudge_y = 0.1)

где thresh это какой-то порог, который вы установили - возможно, произвольная точка отсечения, которая имеет смысл, или, возможно, 3 стандартных отклонения от среднего значения x, или что-то еще. Вы можете сохранить его во внешней переменной, сделать логический столбец в вашем фрейме данных или вычислить его внутри вашего geom_text- действительно до вас. vjust = 0, nudge_y = 0.1 размещает метки чуть выше столбцов, соответствующих вашим выбросам.

Может быть, geom_text(data=mydata%>%filter(just.the.outliers)? Смотрите также это: RE: Выравнивание чисел на отдельных барах с помощью ggplot2

Другие вопросы по тегам