R で aline() を使用してプロットに直線を追加する方法


R のabline()関数を使用すると、R のプロットに 1 つ以上の直線を追加できます。

この関数は次の構文を使用します。

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

金:

  • a、b:線の原点と傾きを指定する一意の値
  • h:水平線の y 値
  • v:垂直線の x 値

次の例は、この関数を実際に使用する方法を示しています。

横線の入れ方

R のプロットに水平線を追加する基本コードは次のとおりです: abline(h = some value)

データセット内のxyの値を表示する次の散布図があるとします。

 #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の平均値に水平実線を追加し、平均値の上下 1 標準偏差の 2 本の水平点線を追加する方法を示しています。

 #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 = some value)

次のコードは、ヒストグラムの平均値に垂直線を追加する方法を示しています。

 #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 チュートリアルを見つけることができます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です