Вручную укажите точки отсечения или ячейки для построения с помощью ggplot

#r #ggplot2

#r #ggplot2

Вопрос:

В базе R я могу создавать пользовательские ячейки с помощью cut . Например, я могу создать эти ячейки для построения графика:

 data.frame(x = c(5, 1, 3, 2, 2, 3)) %>% mutate(bin = cut(x, breaks = c(0,3,5)))

  x   bin
1 5 (3,5]
2 1 (0,3]
3 3 (0,3]
4 2 (0,3]
5 2 (0,3]
6 3 (0,3]
 

Возможно ли это с ggplot2::cut_width помощью или cut_interval ?

Я хочу вручную указать диапазон значений в каждой ячейке.

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

1. Re: «Например, я могу создать три ячейки для построения графика» Обратите внимание, что для n разрывов создается n-1 ячеек. И вы можете указать любые желаемые разрывы, которые охватывают данные.

Ответ №1:

Почему бы просто не использовать cut ?

 library(dplyr)
library(ggplot2)

data.frame(x = c(5, 1, 3, 2, 2, 3)) %>%
  ggplot(aes(x = cut(x, breaks = c(0,3,5))))   
  geom_bar()  
  xlab("x")
 

Метка оси x по умолчанию громоздка, но ее легко изменить.

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

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

1. Я заметил, что он преобразует некоторые значения в моих данных в NA. например, ноль — это реальные данные, но он преобразуется в NA, даже если используется breaks = c(0,3,5)

2. Внутри cut() используйте include.lowest = TRUE : cut(x, breaks = c(0,3,5), include.lowest = TRUE)) .