tidyverse
臨床現場では、対象者の年齢や症状、検査値などをもとにして計算される「何とかスコア」が使われることがよくあると思います。 臨床研究でも、既に収集された項目からcomposite scoreを計算し、変数に追加したいことはよくあります。 今回はtidyverseパッケ…
以前、データフレームの列(=変数)に対して、追加・名前変更・要約などの操作方法についてまとめました。 necostat.hatenablog.jp necostat.hatenablog.jp 最近は列の操作でacross関数を使うことが多くなってきたので、ここらへんで学び直しておこうと思い…
ランドマーク(LM)解析とは スーパーランドマーク解析とは 必要なパッケージとデータの読み込み 使用するスーパーランドマーク解析の概要 cutLM( )を使ってLM解析用データセットを準備する。 おわりに 参考資料 ランドマーク(LM)解析とは Immortal time b…
サブグループ解析とは、全体からある特性を持った一部の集団(例:男性)を取り出して解析をすること。ランダム化が崩れたり、解析対象集団のサイズが小さくなるから検出力が落ちたり、多重検定の問題が生じたり、と色々注意はある。 でもこの記事では、そこ…
Immortal time biasとは ランドマーク(LM)解析とは dynpredパッケージを使ってシンプルなLM解析を行う 必要なパッケージの読み込みと模擬データ作成 元データを通常どおり解析する cutLM( )を使ってランドマーク解析を行う cutLM( )を使わない場合 おわり…
文字列を変換する 文字列の一部分を置換する・除去する 大文字・小文字を変換する 新しい文字列を生成する 文字列を結合する 文字列を分割する 文字列を挿入する 文字列の長さを調整する おわりに 参考資料 stringrパッケージは文字列データの操作を楽にして…
パターンにマッチする文字列を検出する 指定パターンが含まれるかどうか判定する 指定パターンが含まれる位置を返す 文字列の一部分を抽出する 文字列を並べ替える おわりに 参考資料 stringrパッケージは文字列データの操作を楽にしてくれるパッケージ。 ti…
因子型データとは 因子型データの作り方 factor( )を作って因子型データを作る 2つの因子型データを統合する 因子型データの内容を確認する 水準の順序を変更する 他の変数に基づいて水準を並べ替える 水準の値を変更する fct_recode( )で水準のラベル名を変…
時間型データを丸める(切り上げ・切り捨て・四捨五入) 期間を計算する duration:時間の長さを秒単位に直して計算する period:人間の感覚の年月日で計算する interval:2つの時点の間隔を秒単位で計算する int_length( )を使ってintervalの長さを求める i…
時間型データの種類 ymd_hms( )を使って文字列から時間型データを作成する 時間帯(タイムゾーン) make_datetime( )を使って数値から時間型データを作成する 時間型データの各要素を抽出する 日付を曜日に変換する 半期・四半期に変換する 時間型データが条…
パッケージとデータセットの準備 モデルの当てはめ tbl_regression( )で結果をキレイに表示する 変数の表示名を変更する 一部の変数の結果のみ表示する 係数やP値の桁数を変更する モデル当てはめに関する情報を追加する 表の体裁を変更する 太字・イタリッ…
パッケージとデータセットの準備 tbl_summary( )でキレイな背景表を作成する 群別に要約する 要約統計量を変更する 欠測の表示方法を変更する 変数の表示名を変更する 一部の変数の結果のみ表示する 表示する情報を追加する 表の体裁を変更する 太字・イタリ…
パッケージとデータセットの準備 事前準備 bootstraps( )を使ってブートストラップサンプルを作成する 関数を定義する optimismを計算する optimism補正性能指標を計算する おわりに 参考資料 予測性能には、識別能と較正能があって、内的妥当性検証の1つと…
Optimismとは Optimism補正予測性能の求め方 tidymodelsパッケージを使ってoptimism-corrected AUROCを計算する bootstraps( )を使ってブートストラップサンプルを作成する optimismを計算する自作関数 map( )を使ってデータセットのリストに一括して適用す…
マルチレベルデータとは マルチレベルデータの解析 一般化推定方程式(GEE)の概要 独立型:independent 交換可能型:exchangeable 1次自己相関型:AR(1) 非構造化型:unstructured geepackパッケージで一般化推定方程式(GEE)を使う サンプルデータの準備 …
アウトカムが2値変数の場合、一般的にロジスティック回帰モデルが用いられることが多い。 この場合の効果指標はオッズ比(odds ration, OR)だが、アウトカムの発生頻度が高い場合(>10%ルール)、オッズ比はリスク比(risk ratio, RR)の近似にならない。 …
基本:mice( )→with( )→pool( ) 別の方法1:mice( )→complete( )→by( ) 別の方法2:mice( )→group_by( )→do( ) おわりに 参考資料 多重代入法を使ったデータ解析の流れのおさらい。 図1:多重補完を使ったデータ解析の流れ 基本的には、(1)mice( )で作成した…
pivot_wider( )を使って横長にする pivot_longer( )を使って縦長にする おわりに 参考資料 性質が類似していると考えることが自然な構造を持つデータをクラスターデータと呼ぶ。 例えば、 世帯・学校などの構成員のデータ 同一対象から反復して測定されたデ…
left_join( )を使って左側データを基準に結合する 結合キーの名前が異なる・複数の結合キーを使う場合 inner_join( )を使って両方に含まれる場合のみ結合する full_join( )を使ってどちらかに含まれるならば結合する おわりに 参考資料 2つのデータセットに…
bind_rows( )を使って行を追加する bind_cols( )を使って列を追加する union( )で和集合を作る intersect( )で積集合を作る setdiff( )で差集合を作る おわりに 参考資料 2つのデータセットを単純に繋ぎ合わせるだけ。 survivalパッケージのpbcデータセット…
summarise( )で要約する group_by( )でグループ別に要約する おわりに 参考資料 データを要約する操作のまとめ。 新しい変数を作るのと違い、要約された後は元の変数よりもベクトルの長さが短くなる。 ここでもsurvivalパッケージのpbcデータセット(の一部…
select( )を使って変数を指定して抽出する rename( )で変数名を変更する mutate( )で新しく変数を作成する おわりに 参考資料 列、つまり変数に対する操作のまとめ。 ここでもsurvivalパッケージのpbcデータセット(の一部)を例として使う。 > library(surv…
filter( )で条件に該当する行を抽出する sample_n( )・sample_frac( )でランダムに抽出する distict( )で重複を取り除く top_n( )で順序をもとに抽出する arrange( )で順序どおりに並べ替える rownames_to_column( )で行番号を変数に追加する おわりに 参考…