Як використовувати 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 на цій сторінці .