Как накладывать графики плотности в ggplot2 (с примерами)


График плотности — полезный способ визуализировать распределение значений в наборе данных.

Часто вам может потребоваться просмотреть графики плотности нескольких переменных одновременно. К счастью, это легко сделать с помощью пакета визуализации данных ggplot2 в R со следующим синтаксисом:

 ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 )

Аргумент альфа управляет непрозрачностью каждого графика плотности. Важно установить это значение ниже 1, чтобы вы могли видеть каждый график плотности, когда они перекрываются.

В следующем пошаговом примере показано, как использовать этот синтаксис на практике.

Шаг 1. Создайте данные

Во-первых, давайте создадим поддельный набор данных с тремя переменными:

 #make this example reproducible
set. seeds (1)

#createdata
df <- data. frame (var1=rnorm(1000, mean=0, sd=1),
                 var2=rnorm(1000, mean=0, sd=3),
                 var3=rnorm(1000, mean=3, sd=2))

#view first six rows of data
head(df)

        var1 var2 var3
1 -0.6264538 3.4048953 1.2277008
2 0.1836433 3.3357955 -0.8445098
3 -0.8356286 -2.6123329 6.2394015
4 1.5952808 0.6321948 4.0385398
5 0.3295078 0.2081869 2.8883001
6 -0.8204684 -4.9879466 4.3928352

Шаг 2. Преобразование данных из широкого в длинное

Далее нам нужно преобразовать данные из широкого формата в длинный, чтобы сделать их совместимыми с ggplot2:

 library (reshape)

#convert from wide format to long format
data <- melt(df)

#view first six rows
head(data)

  variable value
1 var1 -0.6264538
2 var1 0.1836433
3 var1 -0.8356286
4 var1 1.5952808
5 var1 0.3295078
6 var1 -0.8204684

Шаг 3. Создайте графики перекрывающейся плотности

Наконец, мы можем создать наложенные графики плотности:

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 ) 

Наложение графиков плотности в ggplot2

Не стесняйтесь регулировать значение альфа , чтобы сделать графики плотности более или менее прозрачными.

Например, вот как будут выглядеть графики, если мы увеличим значение альфа:

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .7 ) 

Дополнительные ресурсы

Как создать диаграмму Ганта в R с помощью ggplot2
Как создать сгруппированную диаграмму в R, используя ggplot2
Как создавать параллельные графики в R с помощью ggplot2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *