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


График плотности ядра — это тип графика, который отображает распределение значений в наборе данных с использованием одной непрерывной кривой.

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

Мы можем использовать следующие методы для создания графика плотности ядра в R:

Метод 1: создание одного графика плотности ядра

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

Метод 2: создание заполненного графика плотности ядра

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

#fill in kernel density plot with specific color
polygon(kd, col='blue', border='black')

Метод 3: создание нескольких графиков плотности ядра

#plot first kernel density plot
kd1 <- density(data1)
plot(kd1, col='blue')

#plot second kernel density plot
kd2 <- density(data2)
lines(kd2, col='red')

#plot third kernel density plot
kd3 <- density(data3)
lines(kd3, col='purple')

...

В следующих примерах показано, как использовать каждый метод на практике.

Метод 1: создание одного графика плотности ядра

В следующем коде показано, как создать график плотности ядра для одного набора данных в R:

#create data
data <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd, main='Kernel Density Plot of Data') 

По оси X показаны значения набора данных, а по оси Y — относительная частота каждого значения. Самые высокие точки на графике показывают, где значения встречаются чаще всего.

Метод 2: создание заполненного графика плотности ядра

В следующем коде показано, как создать график плотности ядра с определенным цветом границы и заполненным цветом:

#create data
data <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

#add color
polygon(kd, col='steelblue', border='black')

Метод 3: создание нескольких графиков плотности ядра

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

#create datasets
data1 <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)
data2 <- c(12, 3, 14, 14, 4, 5, 6, 10, 14, 7, 7, 8, 10, 12, 17, 20)

#plot first kernel density plot
kd1 <- density(data1)
plot(kd1, col='blue', lwd= 2 )

#plot second kernel density plot
kd2 <- density(data2)
lines(kd2, col='red', lwd= 2 ) 

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

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

В следующих руководствах объясняется, как создавать другие распространенные графики в R:

Как построить несколько коробчатых диаграмм в R
Как построить несколько гистограмм в R
Как построить несколько линий в R