ねこすたっと

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

neco

サンプルサイズ計算: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値の桁数を変更する モデル当てはめに関する情報を追加する 表の体裁を変更する 太字・イタリッ…

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

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

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

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

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

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

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

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

画像を指定された解像度(dpi)を変更する

画像データを投稿するときに確認すること 画像のフォーマットいろいろ ベクター画像 ビットマップ画像 解像度の確認・変更方法 Macの場合 Windowsの場合 おわりに 参考資料 画像データを投稿するときに確認すること Webページを作るわけでもなく、イラストを…

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をつける 軸について色々 軸の目盛り間隔を変更する 軸の範囲・ラベルを指定する 検定結果を表示する 凡例を変更…

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

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

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

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

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

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

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

パッケージとデータの準備 Stanファイルの準備 おわりに 参考文献 前回、ロジスティック回帰モデル(ロジット-二項モデル)からオッズ比(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 色…

1つの連続変数と1つのカテゴリー変数をグラフにする(ggplot2パッケージ)[R]

geom_boxplot( )を使って箱ヒゲ図を描く 箱の形状に関する指定 箱の色・線種に関する指定 外れ値に関する指定 geom_violin( )でバイオリンプロットを描く stat_*( )との対応 おわりに 参考資料 ggplot2パッケージ(tidyverseパッケージに含まれている)のdia…

2つのカテゴリー変数をグラフにする(ggplot2パッケージ)[R]

geom_jitter( )で点をずらして描く geom_count( )で各カテゴリーの合計数をプロットする stat_sum( )との対応 おわりに 参考資料 ggplot2パッケージ(tidyverseパッケージに含まれている)のdiamondsデータを使う。 > library(tidyverse) > head(diamonds) #…

1つのカテゴリー変数をグラフにする(ggplot2パッケージ)[R]

geom_bar( )を使って棒グラフを描く geom_bar( )の引数を指定する stat_count( )との対応 おわりに 参考資料 ggplot2パッケージ(tidyverseパッケージに含まれている)のdiamondsデータを使う。 > library(tidyverse) > head(diamonds) # A tibble: 6 x 10 c…

多重代入法(4):補完後データを解析する(miceパッケージ)[R]

基本:mice( )→with( )→pool( ) 別の方法1:mice( )→complete( )→by( ) 別の方法2:mice( )→group_by( )→do( ) おわりに 参考資料 多重代入法を使ったデータ解析の流れのおさらい。 図1:多重補完を使ったデータ解析の流れ 基本的には、(1)mice( )で作成した…

多重代入法(2):データの欠測に補完値を代入する(miceパッケージ)[R]

パッケージとデータの準備 mice( )で補完後データを作成する 補完値を決定するために使用する変数を指定する 補完手法を指定する 他の変数との関係から補完値に制約がある場合(passive imputation) 上手く補完できない場合(2021-12-08 追記) おわりに 参…

回帰モデルにおけるカテゴリー変数の扱い方 [R]

relevel( )を使って基準だけを指定する カテゴリーの順序を全て指定する おわりに ここでは71羽のニワトリについて、エサ(6種類)と体重のデータを使う。 連続変数weightをカテゴリー変数feedで回帰すると、デフォルトではcaseinがreferenceになっている。 > …

量的変数をカテゴリー化する(cut関数)[R]

cut( )でN個のカテゴリーに分ける cut( )で境界値を指定して分ける カテゴリー名を整数値にしたい おわりに ここでは71羽のニワトリについて、エサ(6種類)と体重のデータを使う。 連続変数のweightをカテゴリー化する。 > data(chickwts) > head(chickwts, 3…

Cochran-Armitage検定でカテゴリー変数の傾向性をみる(prop.trend.test関数)[R]

検定実行の事前準備 prop.trend.test( )を使って傾向性を検定する おわりに ある割合が順序に沿って単調変化しているかどうかをみたいときはCochran-Armitage検定を使う。 以下のような3群(A,B,C)で2値変数を測定したサンプルデータを作成して実行してみる…

対象者背景表Table1作成(tableoneパッケージ)[R]

dput( )で変数名を書き出す 表示したい変数名を指定する カテゴリー変数として扱いたいものを指定する 表データを作成する 連続変数の詳細結果を表示する カテゴリー変数の詳細結果を表示する 体裁を整えて結果を表示する おわりに 参考資料 ここではsurviva…

データをキーを使って結合する操作(tidyverseパッケージ)[R]

left_join( )を使って左側データを基準に結合する 結合キーの名前が異なる・複数の結合キーを使う場合 inner_join( )を使って両方に含まれる場合のみ結合する full_join( )を使ってどちらかに含まれるならば結合する おわりに 参考資料 2つのデータセットに…

データを要約する操作(tidyverseパッケージ)[R]

summarise( )で要約する group_by( )でグループ別に要約する おわりに 参考資料 データを要約する操作のまとめ。 新しい変数を作るのと違い、要約された後は元の変数よりもベクトルの長さが短くなる。 ここでもsurvivalパッケージのpbcデータセット(の一部…