Como usar aline() em r para adicionar linhas retas aos gráficos


A função abline() em R pode ser usada para adicionar uma ou mais linhas retas a um gráfico em R.

Esta função usa a seguinte sintaxe:

abline(a=NULO, b=NULO, h=NULO, v=NULO, …)

Ouro:

  • a, b: valores únicos que especificam a origem e inclinação da linha
  • h: o valor y para a linha horizontal
  • v: o valor x para a linha vertical

Os exemplos a seguir mostram como usar esta função na prática.

Como adicionar linhas horizontais

O código básico para adicionar uma linha horizontal a um gráfico em R é: abline(h = algum valor)

Suponha que temos o seguinte gráfico de dispersão que exibe os valores de x e y em um conjunto de dados:

 #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)

Para adicionar uma linha horizontal no valor y = 20, podemos usar o seguinte código:

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

O código a seguir ilustra como adicionar uma linha horizontal sólida ao valor médio de y e duas linhas pontilhadas horizontais um desvio padrão acima e abaixo do valor médio:

 #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)

Como adicionar linhas verticais

O código básico para adicionar uma linha vertical a um gráfico em R é: abline(v = algum valor)

O código a seguir demonstra como adicionar uma linha vertical ao valor médio em um histograma:

 #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)

Como adicionar linhas de regressão

O código básico para adicionar uma linha de regressão linear simples a um gráfico em R é: abline(model)

O código a seguir demonstra como adicionar uma linha de regressão linear ajustada a um gráfico de dispersão:

 #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")

Observe que precisamos simplesmente de um valor para interceptação e inclinação para ajustar uma linha de regressão linear simples aos dados usando a função abline().

Portanto, outra maneira de usar abline() para adicionar uma linha de regressão é especificar explicitamente os coeficientes original e de inclinação do modelo de regressão:

 #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")

Observe que isso produz a mesma linha de antes.


Você pode encontrar mais tutoriais de R nesta página .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *