Rのこと。

記事は引っ越し作業中。2023年中までに引っ越しを完了させてブログは削除予定

効率的に出力を日本語がする方法がわからない

はじめに

ちょいと回帰分析の出力を日本語化する必要があったので、メモ。

回帰係数のアウトプット

回帰係数のアウトプットを少し弄って日本語化したい。出力されたものをrename()するでも良いかもしれないが、それはそれで毎回面倒。なので、新しい日本語出力するクラスlmjpを追加して、tidyのメソッドとしてみたが、これはこれでどうなんだろうか。クラスを追加する方法も他にもっと良い方法がありそうだし、なんだかなぁ~。

library(broom)
library(tidyverse)

data(trees)

lm_jp <- function(...){
  res <- lm(...)
  class(res) <- c("lmjp", "lm")
  return(res)
}

res <- lm_jp(Volume ~ Girth + Height, data = trees)
class(res)

tidy.lmjp <- function(x) {
  
  result <- summary(x)$coefficients %>%
    tibble::as_tibble(rownames = "term") %>%
    dplyr::rename("回帰係数" = Estimate,
                  "標準誤差" = `Std. Error`,
                  "t値" = `t value`,
                  "p値" = `Pr(>|t|)`)
  
  return(result)
}

tidy(res)
# A tibble: 3 x 5
  term        回帰係数 標準誤差   t値      p値
  <chr>          <dbl>    <dbl> <dbl>    <dbl>
1 (Intercept)  -58.0      8.64  -6.71 2.75e- 7
2 Girth          4.71     0.264 17.8  8.22e-17
3 Height         0.339    0.130  2.61 1.45e- 2