ユーザ用ツール

サイト用ツール


メモ:rmarkdown

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン両方とも次のリビジョン
メモ:rmarkdown [2020/05/12 10:56] – [Loopでチャンク作成] adminメモ:rmarkdown [2020/05/12 12:10] – [テーブルなどのラベルを改行する] admin
行 185: 行 185:
  
 このように、改行「\n」が入った文字列やベクトルをlinebreakに渡してやるとよい。 このように、改行「\n」が入った文字列やベクトルをlinebreakに渡してやるとよい。
 +
 +===== 回帰分析の結果出力 =====
 +
 +回帰分析の結果の出力は、texregパッケージを使うと手間なく美しくできる。類似パッケージもあるが、とりあえずこのパッケージを使っている。
 +
 +ここでは主にPDFに出力するために使っているので、要するにLatexのコードを出力するために利用している。
 +
 +単純に回帰分析の結果を出力するだけなら以下。
 +  # lm()の結果がres.lmに代入されているとして
 +  texreg(
 +    list(res.lm),
 +    digits = 3,
 +    caption = "回帰分析の結果",
 +    float.pos = "h"
 +  )
 +
 +関数の第一引数に回帰分析の結果が入ったオブジェクトをリストで渡してやればよい。複数の結果を与えると、自動的に横に並べて表示してくれる。2つのモデルの結果で同じ変数があれば、同じ行に示してくれる。モデル内の変数が異なる行は、存在しない場合は空白になって表示される。その他によく使うのは、小数点以下の桁数、キャプション、Latex側でfloatで表を挿入する際のオプション指定など。これ以外にも、モデル名を設定(custom.model.names)や変数名を設定(custom.coef.names)、変数の順序(reorder.coef)、表示しない変数(omit.coef:正規表現で除外変数を指定)など細かく指定できる。
 +
 +なお、開発中は「texreg」の部分を「screenreg」にしておくと、インラインで見やすいように出力してくれる。
 +
 +ロジスティック回帰を行ったときなど、結果の係数を指数変換してオッズ比にしたい場合などがある。その場合は、次のように係数をいったん取り出して、オーバーライドしてやればよい。
 +
 +  # res.glmにglm()の結果が代入されているとして
 +  
 +  # texregパッケージのextract関数で各種係数を取り出す
 +  # ロードしていてもパッケージ名を指定しないと同名の関数が被ることがよくある
 +  res.glm.ext <- texreg::extract(res.glm)
 +  
 +  texreg(
 +    list(res.glm),
 +    # 上のリストで与えたモデルと同じ順で上書きする係数の入ったオブジェクトをリストで渡す
 +    #  ここでは先にextractで取り出した係数を指数変換してオッズ比にしている
 +    override.coef = list(exp(res.glm.ext@coef)),
 +    override.se = list(exp(res.glm.ext@se)),
 +    digits = 3,
 +    caption = "ロジスティック回帰の結果",
 +    float.pos = "h"
 +  )
  
  
メモ/rmarkdown.txt · 最終更新: 2023/06/22 11:00 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki