How to normalize different curves drawn with geom = "step" when using stat_summary

Gibran

Here is my code. The data set is artificially generated to simulate data similar to my actual problem.

Code:

library(ggplot2)
DataSet1 <- data.frame("Cat" = rep("A",10000), "Bin" = rep(c(-49:50),100), 
                       "Value" = c(seq(0,4.9, by=0.1),
                                   seq(4.9,0, by=-0.1)) * rep(rnorm(100,50,1),100))
DataSet2 <- data.frame("Cat" = rep("B",10000), "Bin" = rep(c(-49:50),100), 
                       "Value" = c(seq(0,4.9, by=0.1),
                                   seq(4.9,0, by=-0.1)) * rep(rnorm(100,75,1),100))
DataSet3 <- data.frame("Cat" = rep("C",10000), "Bin" = rep(c(-49:50),100), 
                       "Value" = c(seq(0,4.9, by=0.1),
                                   seq(4.9,0, by=-0.1)) * rep(rnorm(100,100,1),100))
DataSet <- rbind(DataSet1, DataSet2, DataSet3)

d <- ggplot(data = DataSet, aes(Bin, Value, color = Cat))
d + stat_summary(fun.y = sum, geom = 'step', size = 1)

My result:

Plotting the sum for each category at each bin

What I want to do:

Normalize each of these plots, i.e., divide the sum at each bin width by the total Value for that curve.

jdobres

As far as I am aware, stat_summary is not meant to operate over all values of x and y simultaneously, so this type of per-group summary isn't possible strictly within ggplot. In cases such as this, it's usually best to compute your summary ahead of time and then plot that. Using dplyr to make summarization easy:

library(dplyr)

DataSet <- DataSet %>% 
  group_by(Cat, Bin) %>% 
  summarize(Value = sum(Value)) %>% 
  group_by(Cat) %>% 
  mutate(Value = Value / sum(Value))

d <- ggplot(data = DataSet, aes(Bin, Value, color = Cat))
d + stat_summary(fun.y = mean, geom = 'step', size = 1)

enter image description here

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Out of order labels when labeling individual boxes in ggbox plot using: stat_summary(geom = 'text', label = letters

От stat_summary к функции geom_

How to specify two curves with different colors and shapes than all the others on geom_density

Использование ggplot2 stat_summary с geom col для создания отдельной строки суммы

ggplot2: горизонтальное положение stat_summary с geom_boxplot

Как построить пробелы NA в ggplot2, используя stat_summary с geom = "line"?

Пакет рецептов Tidymodels Использование step_normalize в списке переменных

R: Plot multiple different coloured ROC curves using ROCR

How to mimic geom_boxplot() with outliers using geom_boxplot(stat = "identity")

How to remove lines at the ends of the range when using geom_freqpoly?

How can I add the legend for a line made with stat_summary in ggplot2?

How do I set ggplot stat_summary geometry to a specific y value?

обозначить серию geom_step (группу), но не все точки

Каков самый простой способ добавить легенду в ggplot с несколькими geom_step?

Кривая насыщенности с geom_step в R

Каков самый простой способ добавить легенду в ggplot с несколькими geom_step?

Почему два средних значения не совпадают при вычислении вручную и с использованием stat_summary?

Средняя линия в stat_summary ошибочно связывает группы факторов по оси X

Проблемы со stat_summary по группам

Использование stat_summary для построения местоположения медианы

stat_summary только определенных строк

Отображение stat_summary внутри каждой группы с помощью эстетического сопоставления в ggplot

R - Как поместить два графика, которые используют stat_summary () в один график

Фигуры на линейном графике с использованием stat_summary

Отдельные фигуры, но с одинаковой заливкой и рамкой в ggplot с использованием stat_summary

Изменение положения чисел счетчика stat_summary на графике ggplot

проблема с использованием stat_summary для создания полос ошибок для линейных графиков при фасетировании

Построение средних значений в ggplot без использования stat_summary ()

Проблемы со stat_summary по группам

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Bogue étrange datetime.utcnow()

  5. 5

    Как изменить значок приложения для проекта libgdx android

  6. 6

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  7. 7

    Как получить список индексов всех значений NaN в массиве numpy?

  8. 8

    Не удается запустить компилятор cl

  9. 9

    Почему actionPerformed выполняется двумя потоками?

  10. 10

    Дженерики и потоки Java

  11. 11

    How to convert C++/CLI string to const char*

  12. 12

    Запрос Google Таблиц по дате и сгруппировать отсутствующие данные

  13. 13

    Airflow не распознает мои настройки подключения S3

  14. 14

    numpy: в true_divide обнаружено недопустимое значение

  15. 15

    Редактировать существующий файл Excel C # npoi

  16. 16

    Динамическое создание точек / квадратов внутри Picturebox

  17. 17

    discord.py: on_message (message) не работает несколько дней

  18. 18

    TypeError: ownKeys на прокси: результат ловушки не включал аргументы

  19. 19

    Невозможно подключиться к базе данных pgsql с помощью Java REST-API на локальном сервере Tomcat. Стек содержит ExceptionInInitializerError и IllegalStateException

  20. 20

    Passing Core Data objects from UITableViewCell to another View Controller

  21. 21

    Как отфильтровать несколько столбцов в Qtableview?

популярныйтег

файл