ねこすたっと

ねこの気持ちと統計について悩む筆者の備忘録的ページ。

R

サンプルサイズ計算:1群の2値アウトカムの割合から母集団における割合を推定する [R]

想定シナリオ 方法0:手計算 方法1:pwr.p.test( )を使って計算する おわりに 参考資料 自分用のリファレンスとして、サンプルサイズ計算に関する記事をシリーズで書いています。 なるべく体裁を統一するために、以下のように決めています。 群を示す添字に…

サンプルサイズ計算:1群の2値アウトカムの割合を既知の割合と比較する [R]

想定シナリオ 方法0:手計算 方法1:pwr.p.test( )を使って計算する 方法2:OneSampleProportion.Equality( )を使って計算する おわりに 参考資料 自分用のリファレンスとして、サンプルサイズ計算に関する記事をシリーズで書いています。 なるべく体裁を統…

サンプルサイズ計算:2群の2値アウトカムを比較する(オッズ比) [R]

想定シナリオ 方法0:手計算 方法1:RelativeRisk.Equality( )を使って計算する おわりに 参考資料 自分用のリファレンスとして、サンプルサイズ計算に関する記事をシリーズで書いています。 なるべく体裁を統一するために、以下のように決めています。 群を…

サンプルサイズ計算:2群の2値アウトカムを比較する(極端な割合) [R]

想定シナリオ 方法0:手計算 方法1:ss2x2( )を使って計算する おわりに 参考資料 自分用のリファレンスとして、サンプルサイズ計算に関する記事をシリーズで書いています。 なるべく体裁を統一するために、以下のように決めています。 群を示す添字について…

サンプルサイズ計算:2群の2値アウトカムを比較する(割合の差) [R]

想定シナリオ 方法0:手入力 方法1:pwr.2p.test( )を使って計算する 方法2:TwoSampleProportion.Equality( )を使って計算する 方法3:power.prop.test( )を使って計算する おわりに 参考資料 自分用のリファレンスとして、サンプルサイズ計算に関する記事…

回帰モデルの結果をキレイに表示する(gtsummaryパッケージtbl_regression関数)[R]

パッケージとデータセットの準備 モデルの当てはめ tbl_regression( )で結果をキレイに表示する 変数の表示名を変更する 一部の変数の結果のみ表示する 係数やP値の桁数を変更する モデル当てはめに関する情報を追加する 表の体裁を変更する 太字・イタリッ…

対象者背景表Table1を作成する(gtsummaryパッケージtbl_summary関数)[R]

パッケージとデータセットの準備 tbl_summary( )でキレイな背景表を作成する 群別に要約する 要約統計量を変更する 欠測の表示方法を変更する 変数の表示名を変更する 一部の変数の結果のみ表示する 表示する情報を追加する 表の体裁を変更する 太字・イタリ…

予測性能指標のoptimism補正をまとめて行う(tidymodelsパッケージ, rmsパッケージ)[R]

パッケージとデータセットの準備 事前準備 bootstraps( )を使ってブートストラップサンプルを作成する 関数を定義する optimismを計算する optimism補正性能指標を計算する おわりに 参考資料 予測性能には、識別能と較正能があって、内的妥当性検証の1つと…

生存時間データ分類(4):Multi-state type(mstateパッケージ)[R]

パッケージとデータセットの準備 想定する多状態モデル transMat( )を使って遷移行列(transition matrix)を指定する path( )で遷移経路を確認する msprep( )でデータを縦長に変形する events( )で移行の様子を確認する coxph( )とmisfit( )を使ってモデル…

柔軟なリスク回帰モデルを使った生存時間解析(timeregパッケージ, riskRegressionパッケージ)[R]

柔軟なリスク回帰モデル(flexible risk regression model)とは 色々なパッケージを使ってFine-Grayモデルを当てはめる パッケージとデータセットの準備 方法1:timeregパッケージ comp.risk( )を使う 方法2:riskRegressionパッケージ riskRegression( )を…

生存時間データ分類(3):Competing type(tidycmprskパッケージ)[R]

競合リスクを含んだ生存時間解析 原因別ハザードモデル(cause-specific hazard model) 部分分布ハザードモデル(subdistribution hazard model) tidycmprskパッケージを使ってFine-Grayモデルに当てはめる パッケージとデータセットの準備 crr( )でモデル…

生存時間データ分類(2):Repeated type(tmerge関数)[R]

最終的に必要なデータ構造 tmerge( )でデータ整形する 3つのデータを用意する tstart, tstopを追加する 時間依存性共変量データを追加する イベント発生データを追加する 累積回数を追加する Cox比例ハザードモデルで解析する おわりに 参考資料 生存時間デ…

較正プロット(calibration plot)で較正能を評価する(rmsパッケージvar.prob関数)

パッケージとデータセットの準備 ロジスティック回帰モデルを当てはめる var.prob( )を使って較正プロットを描く 表示される性能指標 Calibration intercept & slope*2の解釈 おわりに 参考資料 広い意味で予測モデルを含め、検査は真の状態を言い当てること…

マルチレベルデータの解析方法(3):一般化推定方程式(GEE)と混合効果モデル(MEM)のどちらを使うべきか

マルチレベルデータの解析 推定方法の概要 最尤推定法(Maximum Likelihood Estimation, MLE) 制限付き最尤推定法(Restricted Maximum Likelihood Estimation, REML) 一般化推定方程式(Generalized Estimating Equations, GEE) GEE vs. MEM 興味の対象 …

データ構造を要約・説明する(1):探索的因子分析(psychパッケージ)[R]

データの構造を要約・説明する手法 探索的因子分析の手順 使用するパッケージとデータセット 1. データの評価 KMO統計量 相関係数 2. 因子数の決定 VSS()を使ってMAP, BICに基づいた因子数を選択する fa.parallel( )を使って平行分析で因子数を選択する 3. …

ROC解析でoptimismを補正したAUCを計算する(tidymodelsパッケージ)[R]

Optimismとは Optimism補正予測性能の求め方 tidymodelsパッケージを使ってoptimism-corrected AUROCを計算する bootstraps( )を使ってブートストラップサンプルを作成する optimismを計算する自作関数 map( )を使ってデータセットのリストに一括して適用す…

データ構造を要約・説明する(2):検証的因子分析(lavaanパッケージなど)[R]

因子分析とは 検証的因子分析の手順 使用するパッケージとデータセット 1. データの確認 2. 因子構造の指定 3. モデルの当てはめ 4. 推定結果の確認 4-1. 推定の概要 4-2. モデルの適合度 4-3. 推定値 4-4. パス図を描く 5. モデルの改善 5-1. 当てはまりの…

Kaplan-Meier生存曲線をキレイに描く(ggplot系jskmパッケージ)[R]

jskm( )を使ってKaplan-Meier生存曲線を描く 信頼区間をつける 色パレットを変更する 線の種類を変更する 打ち切りマークを変更する Risk tableをつける 軸について色々 軸の目盛り間隔を変更する 軸の範囲・ラベルを指定する 検定結果を表示する 凡例を変更…

ブートストラップ(bootstrap)法で信頼区間を求める(bootパッケージ)[R]

例示のための元データの作成 bootパッケージを使って信頼区間を計算する boot( )を使ってブートストラップサンプル毎の統計量を計算する boot.ci( )を使ってブートストラップ信頼区間を計算する 信頼区間を計算するアルゴリズム色々 表記のルール バイアス …

マルチレベルデータの解析方法(2):混合効果モデル(lme4パッケージ)

マルチレベルデータとは マルチレベルデータの解析 混合効果モデルの概要 混合効果モデル = 固定効果 + 変量効果 クラスター効果をモデルに含める lme4パッケージで混合効果モデルを使う サンプルデータの準備 glmer( )を使ってモデルを当てはめる ランダム…

マルチレベルデータの解析方法(1):一般化推定方程式GEE(geepackパッケージ)

マルチレベルデータとは マルチレベルデータの解析 一般化推定方程式(GEE)の概要 独立型:independent 交換可能型:exchangeable 1次自己相関型:AR(1) 非構造化型:unstructured geepackパッケージで一般化推定方程式(GEE)を使う サンプルデータの準備 …

罰則付き回帰モデル(LASSO回帰, Ridge回帰, Elastic Net)で過学習を抑える(glmnetパッケージ)[R]

罰則付き回帰モデル(penalized regression model)で過学習を抑える LASSO回帰, Ridge回帰, Elastic Netは正則化項(ペナルティー)が違う glmnet( )でペナルティーの重みλを色々変えて係数βを推定する cv.glmnet( )で重み付けパラメータλを変えながらモデ…

傾向スコア解析(3):傾向スコアマッチング(PSM)を使って交絡を調整する [R]

パッケージとデータの準備 マッチング前のデータで共変量のバランスを確認する 傾向スコアでマッチさせたコホートを作成する マッチさせたコホートで共変量のバランスを確認する マッチングの様子を図示する 治療効果を推定する おわりに 参考資料 傾向スコ…

傾向スコア解析(2):傾向スコアを使った逆確率重み付け法(IPW)で交絡を調整する [R]

パッケージとデータの準備 〜 傾向スコアの推定 各症例の重み(weight)を計算する 重みが極端な値の場合の対処方法 WeightItパッケージを使う方法 共変量のバランスを確認する cobaltパッケージを使う MatchItパッケージを使う 治療効果を推定する おわりに…

傾向スコア解析(1):ロジスティック回帰モデルで傾向スコア(propensity score)を推定する [R]

傾向スコアを使った解析の流れ 傾向スコアの推定方法 傾向スコアの推定に用いる変数 パッケージとデータの準備 元データで群間のバランスを見てみる ロジスティック回帰モデルを使って傾向スコアを推定する 推定された傾向スコアを確認する 傾向スコアの分布…

2値アウトカムに対する回帰モデルいろいろ(3):Stanを使ったベイズ統計モデリング[R]

パッケージとデータの準備 Stanファイルの準備 おわりに 参考文献 前回、ロジスティック回帰モデル(ロジット-二項モデル)からオッズ比(odds ratio, OR)ではなくリスク比(risk ratio, RR)を推定する方法として「デルタ法」と「ブートストラップ法」を用…

2値アウトカムに対する回帰モデルいろいろ(2):デルタ法・ブートストラップ法[R]

パッケージとデータの準備 デルタ法 ブートストラップ法 おわりに 参考資料 今回はロジスティック回帰モデル(ロジット-二項モデル)からオッズ比(odds ratio, OR)ではなくリスク比(risk ratio, RR)を推定する方法をまとめる。 ロジスティック回帰モデル…

2値アウトカムに対する回帰モデルいろいろ(1):glm関数とロバスト分散推定法[R]

アウトカムが2値変数の場合、一般的にロジスティック回帰モデルが用いられることが多い。 この場合の効果指標はオッズ比(odds ration, OR)だが、アウトカムの発生頻度が高い場合(>10%ルール)、オッズ比はリスク比(risk ratio, RR)の近似にならない。 …

カラーパレットで色を指定する(RColorBrewer, viridis, ggsciパッケージ)[R]

グレースケールで描く RColorBrewerパッケージ viridisパッケージ ggsciパッケージ Nature Publishing Groups The New England Journal of Medicine (NEJM) Lancet The Journal of the American Medical Association (JAMA) Journal of Clinical Oncology 色…

時系列データをグラフにする(ggplot2パッケージ)[R]

時間・順序と組になっている変量をグラフにする geom_area( )で面グラフを描く geom_line( )で折れ線グラフを描く geom_ribbon( )でリボンプロットを描く geom_step( )で階段状プロットを描く geom_path( )で経路を表示する おわりに 参考資料 時間・順序と…