Как использовать 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 вы можете найти на этой странице .