Як використовувати aline() у 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)

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

 abline(h = 20, col = 'coral2', lwd = 2)

Наступний код ілюструє, як додати суцільну горизонтальну лінію до середнього значення 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(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: 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().

Отже, інший спосіб використання 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")

Зауважте, що це створює той самий рядок, що й раніше.


Ви можете знайти більше посібників з R на цій сторінці .

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *