Как создать ленточную диаграмму в R


Ленточная диаграмма — это тип диаграммы, на которой числовые данные отображаются на одной полосе. Подобно ящичковым диаграммам , ленточные диаграммы могут помочь вам визуализировать распределение данных. Ленточные диаграммы могут быть хорошей альтернативой ящичковым диаграммам, когда размеры выборки малы, чтобы вы могли видеть отдельные точки данных.

В этом руководстве объясняется, как создать ленточную диаграмму в R с помощью встроенной функции stripchart() .

Функция полосовой диаграммы ()

Основной синтаксис для создания ленточной диаграммы в R выглядит следующим образом:

stripchart(x, method, jitter, main, xlab, ylab, col, pch, vertical, group.names)

  • x : числовой вектор или список числовых векторов для построения. Это единственный необходимый аргумент для создания сюжета.
  • method : метод, используемый для разделения точек с одинаковыми значениями. Метод по умолчанию «overplot» вызывает перерисовку таких точек, но можно указать «jitter», чтобы точки дрожали, или «stack», чтобы сложить точки.
  • джиттер : когда используется метод = «джиттер», это обеспечивает количество применяемого джиттера.
  • main: название диаграммы
  • xlab : метка оси x
  • ylab : метка оси Y
  • col : цвет точек на графике
  • pch : форма точек на графике
  • вертикальный : когда вертикальный «ИСТИНА», график рисуется вертикально, а не горизонтально по умолчанию.
  • group.names : групповые метки, которые будут напечатаны рядом с графиком, если строится более одного числового вектора.

Ленточная диаграмма для одного числового вектора

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

#view first six rows of *iris* dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

Следующий код создает базовую ленточную диаграмму для переменной Sepal.Length :

stripchart(iris$Sepal.Length) 

Мы также можем добавить дополнительные аргументы, чтобы добавить заголовок и метку оси X, изменить цвет точек, изменить форму точек и использовать метод «дрожание», чтобы отдельные точки не перекрывали друг друга:

stripchart(iris$Sepal.Length,
 main = 'Sepal Length Distribution',
 xlab = 'Sepal Length',
 col = 'red',
 pch = 1,
 method = 'jitter') 

Вместо того, чтобы трясти точки, мы можем «сложить» их:

stripchart(iris$Sepal.Length,
 main = 'Sepal Length Distribution',
 xlab = 'Sepal Length',
 col = 'red',
 pch = 1,
 method = 'stack' ) 

Мы также можем отобразить график вертикально вместо горизонтального по умолчанию и вместо этого изменить метку оси, чтобы она находилась на оси Y:

stripchart(iris$Sepal.Length,
 main = 'Sepal Length Distribution',
 ylab = 'Sepal Length' ,
 col = 'red',
 pch = 1,
 method = 'jitter',
 vertical = TRUE ) 

Ленточная диаграмма для нескольких числовых векторов

Мы также можем нарисовать несколько ленточных диаграмм на одном графике, передав список числовых векторов.

Следующий код создает список, содержащий переменные « Длина чашелистика» и « Ширина чашелистика » в наборе данных радужной оболочки , и создает ленточную диаграмму для каждой переменной на одном графике:

#create list of variables
x <- list('Sepal Length' = iris$Sepal.Length, 'Sepal Width' = iris$Sepal.Width)

#create plot that contains one strip chart per variable
stripchart(x,
 main = 'Sepal Width & Length Distributions',
 xlab = 'Measurement', 
 ylab = 'Variable',
 col = c('steelblue', 'coral2'),
 pch = 16,
 method = 'jitter') 

Как и в предыдущем примере, мы можем выбрать вертикальное построение ленточных диаграмм вместо горизонтального по умолчанию:

stripchart(x, main = 'Sepal Width & Length Distributions',
 xlab = 'Measurement', 
 ylab = 'Variable',
 col = c('steelblue', 'coral2'),
 pch = 16,
 method = 'jitter',
 vertical = TRUE ) 

Кроме того, мы можем передать формулу в виде y~x в функцию stripchart(), где y — числовой вектор, сгруппированный по значению x .

Например, в наборе данных радужной оболочки мы могли бы сгруппировать данные по видам , которые имеют три различных значения («сетоза», «разноцветный» и «виргиника»), а затем отобразить длину чашелистика для каждого вида на ленточной диаграмме:

stripchart(Sepal.Length ~ Species,
 data = iris,
 main = 'Sepal Length by Species',
 xlab = 'Species', 
 ylab = 'Sepal Length',
 col = c('steelblue', 'coral2', 'purple'),
 pch = 16,
 method = 'jitter',
 vertical = TRUE) 

Чтобы просмотреть полную документацию по функции stripchart() в R, просто введите:

?stripchart