Hazy Ideas

日々の勉強の気づきを書き出しています

R

【R】モデルを用いたオッズ比の求め方

今回はRで、既存のデータセットを使用して、オッズ比計算をデモンストレーションしてみます。使用するのはEpiパッケージのdietデータセットです。 このデータは、冠状動脈性心疾患イベントと食事の関係性を評価するためのデータセットです。 参考:Rの学習に…

【R】既存データを用いて分布ラグモデルを動かしてみる

ひとつ前の記事でdlnmパッケージのデータセットを使用しました。今回は、dlnmパッケージのチュートリアルに概ね従いながら、分布ラグモデルの動きを確認していきます。以下リンクは参考にした情報です。 http://www.ag-myresearch.com/uploads/1/3/8/6/13864…

【R】既存データを使って相対リスク計算の試算をしてみる

公開されている疫学文献データを用いて、相対リスクの計算を行ってみます。主な目的は2つです。 ・データに対する分布を検討する ・調整モデル、複数汚染物質モデルなどを検討する 使用するパッケージはdlnmです。このパッケージを作成した研究者が解説情報…

【Rで疫学】記述統計表とグラフ

今回は、適当に作成したデータを用いて、記述統計に用いる要約統計量をまとめた表と、可視化の方法として箱ひげ図を作成してみます。 方針としては、子供の肺機能と身長・体重、既往歴などを含めたデータを作成して、学年と性別ごとに並べて見比べることにし…

【R備忘録】Jupyter NotebookでRを使うための設定方法

R

Jupyter Notebookは対話型で、コードと結果が画面上に残り続けるのが使いやすい。一方で、Python専用につくられているため、そのままではRは使えない。 3つのパターンの設定方法を記録しておく。 1.R単体と、Jupyter Notebookをインストールして使う Rを…

【R備忘録】パッケージrlangのアップデートがうまくいかないときの対処法

【環境】 R version 4.1.2 → 4.2.2へアップデート RStudio version 2022.? → 2022.12へアップデート RStudioを立ち上げて、library(dplyr)と入力したとき、 「名前空間 'rlang' 1.0.5 はすでにロードされましたが、>=1.0.6が要求されています」とエラーメ…

ベイズ勉強編

R

ベイズ統計の勉強。初級編としてRとRstanから入る。 RStanのインストール RStan Getting Started · stan-dev/rstan Wiki · GitHub サポート情報ページ RとStanではじめる ベイズ統計モデリングによるデータ分析入門:サポートページ | Logics of Blue 使用す…

R: モデル評価

*個人勉強用、R基礎本はこれで終わる! 残渣評価は、モデルが適合していれば、予測と目的変数の差は正規分布に従うという考え。 GLMのモデルをANOVAに入れて、最も良いモデル選択をすることもできる。 anova(model1, model2, model3) *それぞれのmodelがlm関…

R: 確率分布と統計

*個人用メモ 正規分布:rnorm(n=数字, mean=平均, sd=標準偏差) 確率数値を返す:dnorm(確率分布) 二項分布:rbinom(n=試行回数, size=試行のサイズ, prob=成功確率) ポアソン分布:rpois(n=出力するデータ個数, lamda=平均と分散) 統計 最小最大、平均、中…

R: データ整形

*個人用メモ 複数のデータセットを統合する。 行・列数が同じならcbind、rbindで結合できる。 2つのdata.frameを結合するにはmerge関数、だが遅いのが欠点。 plyrパッケージのjoin関数が早い。 dplyrにおいて、同様の関数はbind_rowsとbind_cols(読みやすい…

R: applyとdplyrとpurrr

*個人勉強用メモ applyファミリーの関数は、データ操作に使われる。 データの分割、適用、結合にはplyrパッケージが使われる。 dplyrとpurrrに代替される。 dplyrによるグルーピング操作 上記パッケージよりも高速で使いやすい。 列select、行filter/slice、…

R: 基本グラフィクス

*個人勉強用メモです。 データdiamondsとする。 ヒストグラム hist(diamonds$carat) 散布図 plot(price ~ carat, data = diamonds) 箱ひげ図 boxplot(diamonds$carat) ggplot2での作図:文章が多くなるが、見やすく、細かな編集をしやすい ヒストグラム ggpl…

R: 基本編

*個人用勉強メモです。 変数に数値などを代入、削除する。 assign("j", 4) rm(j) #remove(j)でも良い Rには主に4つのデータ型がある。 numeric、character、Data/POSIXct、logical 数値numericは他言語におけるfloatやdouble。 整数のみにするときはinteger…

R: ANOVA、多重比較検定、ヒートマップ

今日は本の勉強ではなく、実際に今日やったことの備忘録。 一元配置分散分析(ANOVA) 3つ以上の比較対象があるときに、全体的な有意差があるか調べる手法。 csvかxlsの対象データをdata.frameとしてインポートする。 data <- data.frame(リスト名)anova <- a…

R: 階層ベイズモデル

R

*個人勉強用メモです。 一般化線形混合モデルGLMMを、階層事前分布を使ってベイズ化する。 個体差だけでなく複数の考慮が必要なモデルを扱える、より複雑なモデルのパラメータを推定することができる。 GLMMのリンク関数と線形予測子をlogit(q) = ß + r と…

R: GLMのベイズモデル化

R

*個人勉強用メモです。 MCMCによるパラメータ推定とベイズモデリングを、一般化線形モデルに適応する例を考える。 簡単な例として、ランダム項なしのモデル 平均 λ = exp(β1 + β2X)を考える。 尤度関数 L(β1, β2) = Π (y | λ) = Π (y | β1, β2, X) ベイズの…

R: MCMCとベイズモデル

R

*個人勉強用のノートです。 観測できないデータの不均質さを考慮したGLMMでも対応できない場合 ランダム効果の要因が増えるほど、パラメータ推定が困難になる。 ランダム効果の要因の数だけ多重積分を繰り返すため、計算時間が長くなり、最尤値の探索が困難…

R: GLM応用

R

*個人勉強用のノートです。 ロジスティック回帰:出来事が発生する確率を予測できる ポアソン回帰のオフセット項:人口密度などの割算値を扱う GLMは、確率分布・リンク関数・線形予測子を指定することで、複数の用途に使える 分布には連続と離散があり、そ…

R: GLM尤度比検定、非対称性

*個人勉強用のノートです。 モデル検定とモデル選択の違い モデル検定:対立仮説と帰無仮説、検定、帰無仮説の棄却可否を判断 モデル選択:パラメーターの多い/少ないモデル、AICモデル選択による評価 尤度比検定では逸脱度の差を取り、検定統計量として使…

R: GLMのモデル選択

R

*個人勉強用のノートです。 観測データに当てはまりのいいモデルが、いい統計モデルではない。 変数が多いと当てはまりがいいけど、それって使えるの?(複雑で扱いづらい) 当てはまりのよさではなく、良い予測をするのがいいモデルと言う考え方→モデル選…

R: 一般化線形モデルGLM

R

*個人勉強用のノートです。 個体が平均λのポアソン分布に従う、確率分布に対して、 個体ごとに異なる説明変数を持つ場合に、統計モデルを観測データに当てはめることをポアソン回帰、 それらの構造のモデルの総称を一般化線形モデルと言う。 モデリングの前…