Rで求めた線形回帰の結果の整形

Rの関数 lm {stats} を利用して求めた線形回帰の結果を整形する関数の一覧です。

Note

本ポストに記していない関数が確認されましたら追記していきます。

始めにサンプルとするモデルを作成します。

set.seed(20241114)
library(dplyr)
n <- 30
x1 <- runif(n = n, min = 1, max = 10)
x2 <- runif(n = n, min = 1, max = 10)
b <- 1
X <- as.matrix(cbind(1, x1, x2))
e <- rnorm(n = n, mean = 0, sd = 1)
beta <- c(5, 2, 4) %>% matrix(ncol = 1)
y <- X %*% beta + e
(beta_hat <- solve(t(X) %*% X) %*% t(X) %*% y)
       [,1]
   4.845184
x1 2.096882
x2 3.922783

関数 lm {stats} を利用した線形回帰の結果です。

(lm_model <- lm(y ~ x1 + x2))

Call:
lm(formula = y ~ x1 + x2)

Coefficients:
(Intercept)           x1           x2  
      4.845        2.097        3.923  

関数 summary {base} を利用して各係数のt値やp値、決定係数その他を確認できます。

lm_model %>% summary()

Call:
lm(formula = y ~ x1 + x2)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2012 -0.5021  0.1015  0.4110  1.6739 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  4.84518    0.46217   10.48 5.11e-11 ***
x1           2.09688    0.05706   36.75  < 2e-16 ***
x2           3.92278    0.06509   60.27  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7865 on 27 degrees of freedom
Multiple R-squared:  0.9957,    Adjusted R-squared:  0.9953 
F-statistic:  3092 on 2 and 27 DF,  p-value: < 2.2e-16

本ポスト投稿時点で確認できました「線形回帰の結果を整形する関数」は以下のとおりです。

  1. summ {jtools} https://www.jtools.jacob-long.com/articles/summ.html
  2. stargazer {stargazer} https://cran.r-project.org/web/packages/stargazer/index.html
  3. htmlreg {texreg} https://github.com/leifeld/texreg
  4. tidy {broom} https://github.com/tidymodels/broom
  5. modelsummary {modelsummary} https://modelsummary.com/

それぞれの関数を利用して整形しました結果は Rの関数 lm {stats} を利用して求めた線形回帰の結果を各種関数を利用して整形を確認してください。

以上です。