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


Функцию abline() в R можно использовать для добавления одной или нескольких прямых линий на график в R.

Эта функция использует следующий синтаксис:

abline(a=NULL, b=NULL, h=NULL, v=NULL, …) куда: a, b: отдельные значения, определяющие точку пересечения и наклон линии. * h: значение y для горизонтальной линии * v:* значение x для вертикальной линии

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

Как добавить горизонтальные линии

Базовый код для добавления горизонтальной линии на график в R: abline(h = некоторое значение)

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

#define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
 y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#plot *x* and *y* values in dataset
plot(data$x, data$y, pch = 16) 
Диаграмма рассеяния в R

Чтобы добавить горизонтальную линию при значении y = 20, мы можем использовать следующий код:

abline(h = 20, col = 'coral2', lwd = 2) 
Пример abline() в R

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

#create scatterplot for *x* and *y*
plot(data$x, data$y, pch = 16)

#create horizontal line at mean value of *y*
abline(h = mean(data$y), lwd = 2)

#create horizontal lines at one standard deviation above and below the mean value
abline(h = mean(data$y) + sd(data$y), col = 'steelblue', lwd = 3, lty = 2)
abline(h = mean(data$y) - sd(data$y), col = 'steelblue', lwd = 3, lty = 2) 
Горизонтальные линии в R с использованием функции abline()

Как добавить вертикальные линии

Базовый код для добавления вертикальной линии на график в R: abline(v = некоторое значение)

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

#make this example reproducible
set.seed(0)

#create dataset with 1000 random values normally distributed with mean = 10, sd = 2
data <- rnorm(1000, mean = 10, sd = 2)

#create histogram of data values
hist(data, col = 'steelblue')

#draw a vertical dashed line at the mean value
abline(v = mean(data), lwd = 3, lty = 2) 
Аблайн на гистограмме в R

Как добавить линии регрессии

Базовый код для добавления простой линии линейной регрессии на график в R: abline(model)

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

#define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
 y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create scatterplot of *x* and *y* values
plot(data$x, data$y, pch = 16)

#fit a linear regression model to the data
reg_model <- lm(y ~ x, data = data)

#add the fitted regression line to the scatterplot
abline(reg_model, col="steelblue") 
Abline() линии регрессии в R

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

Таким образом, другим способом использования abline() для добавления линии регрессии является явное указание коэффициентов пересечения и наклона модели регрессии:

#define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
 y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create scatterplot of *x* and *y* values
plot(data$x, data$y, pch = 16)

#fit a linear regression model to the data
reg_model <- lm(y ~ x, data = data)

#define intercept and slope values
a <- coefficients(reg_model)[1] #intercept
b <- coefficients(reg_model)[2] #slope

#add the fitted regression line to the scatterplot
abline(a=a, b=b, col="steelblue") 
Abline() линии регрессии в R с определенным пересечением и наклоном

Обратите внимание, что это создает ту же строку, что и раньше.


Вы можете найти больше руководств по R на этой странице .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.