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

График плотности ядра похож на гистограмму , но он даже лучше отображает форму распределения, поскольку на него не влияет количество бинов, используемых в гистограмме.
Мы можем использовать следующие методы для создания графика плотности ядра в 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