ねこすたっと

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

2021-01-01から1年間の記事一覧

カラーパレットで色を指定する(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( )で経路を表示する おわりに 参考資料 時間・順序と…

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

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

2つの連続変数をグラフにする(ggplot2パッケージ)[R]

geom_point( )で散布図を描く geom_smooth( )で回帰直線・曲線を描く geom_rug( )で周辺ラグプロットを描く おわりに 参考資料 ggplot2パッケージ(tidyverseパッケージに含まれている)のdiamondsデータを使う。 > library(tidyverse) > head(diamonds) # A…

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

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

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

geom_histogram( )を使ってヒストグラムを描く geom_area( )を使って面グラフを描く geom_freqplot( )を使って折れ線グラフを描く geom_density( )を使って密度プロットを描く stat_bin( )との対応しているgeom_*関数 おわりに 参考資料 ggplot2パッケージ(…

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

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

プロットマーカーや線の種類を変更する [R]

プロットマーカー 線 おわりに プロットマーカー マーカーの種類は引数pch*1(ggplot系ではshape)で数字を指定して変更できる。 ggpubrパッケージで凡例を表示できる。 library(ggpubr) show_point_shapes() 図1:マーカーの種類 中抜き:中は透明 0:四角 …

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

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

多重代入法(3):欠測補完後のデータを評価する(miceパッケージ)[R]

補完値の収束状況を確認する complete( )を使って補完後のデータセットを抽出する 補完データと元データの分布を比較する 欠測発生の傾向スコアを使う おわりに 参考資料 欠測に対して適切な値が代入されたかを評価する。まずはnhanes2データを使って補完デ…

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

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

多重代入法(1):欠測の発生状態を確認する(miceパッケージ, VIMパッケージ)[R]

パッケージとデータの準備 欠測の発生と他の変数との相関を調べる md.pattern( ), md.pairs( )で欠測のパターンを示す md.pattern( )を使う md.pairs( )を使う aggr( )を使って欠測に関する統合的なグラフを描く marginplot( )で2変数間の観測値・欠測をプロ…

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

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

条件付きロジスティック回帰でクラスターデータを解析する(clogistic関数, clogit関数)[R]

条件付きロジスティック回帰(CLR) 通常のロジスティック回帰を行う Epiパッケージのclogistic( )を使ってCLR survivalパッケージのclogit( )を使ってCLR おわりに 参考資料 対象集団をいくつかの異なったグループに分けられるデータをクラスターデータ(cl…

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

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

Jonckheere-Terpstra検定で量的変数の傾向性をみる(clinfunパッケージ)[R]

jonckheere.test( )を使って傾向性検定を行う パーミュテーション法でP値を求める おわりに ヨンクヒール・タプストラ検定と読む。 ある変数がカテゴリーの順序に沿って単調変化しているかどうかをみる。 ノンパラメトリック検定で、Kruskal-Wallis検定と似…

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

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

カテゴリー変数の多群比較と多重比較補正(fmsbパッケージ)[R]

fisher.test( )を使って全体を比較する 2群ずつ対比較する pairwise.fisher.test( )を使って対比較をする 代表的な補正方法について Bonferroni法 Holm法 Hochberg法*1 おわりに 参考資料 以下のような3群(A,B,C)で2値変数を測定したサンプルデータを作成…

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

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

データを縦長・横長に変換する操作(tidyverseパッケージ)[R]

pivot_wider( )を使って横長にする pivot_longer( )を使って縦長にする おわりに 参考資料 性質が類似していると考えることが自然な構造を持つデータをクラスターデータと呼ぶ。 例えば、 世帯・学校などの構成員のデータ 同一対象から反復して測定されたデ…

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

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

データを単純に結合する操作(tidyverseパッケージ)[R]

bind_rows( )を使って行を追加する bind_cols( )を使って列を追加する union( )で和集合を作る intersect( )で積集合を作る setdiff( )で差集合を作る おわりに 参考資料 2つのデータセットを単純に繋ぎ合わせるだけ。 survivalパッケージのpbcデータセット…

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

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

データ列に対する操作(tidyverseパッケージ)[R]

select( )を使って変数を指定して抽出する rename( )で変数名を変更する mutate( )で新しく変数を作成する おわりに 参考資料 列、つまり変数に対する操作のまとめ。 ここでもsurvivalパッケージのpbcデータセット(の一部)を例として使う。 > library(surv…

データ行に対する操作(tidyverseパッケージ)[R]

filter( )で条件に該当する行を抽出する sample_n( )・sample_frac( )でランダムに抽出する distict( )で重複を取り除く top_n( )で順序をもとに抽出する arrange( )で順序どおりに並べ替える rownames_to_column( )で行番号を変数に追加する おわりに 参考…

区間打ち切りデータ(interval censored data)を解析する(icenRegパッケージ)[R]

パッケージとデータの準備 in_np( )を使ってモデルに当てはめずに生存曲線を描く in_sp( )を使ってセミパラメトリックモデルを当てはめる 複数コアで並列計算したいとき in_par( )を使ってパラメトリックモデルに当てはめる おわりに 参考資料 生存時間デー…

比例ハザード性の仮定が成立しているか検証する[R]

パッケージとデータの準備 補対数-対数プロットを使って検証する Schoenfeld残差を使って検証する ggcoxdiagnostics( )を使って残差プロットを描く 時間依存性共変量を使って検証する おわりに 参考資料 Cox比例ハザードモデル(Cox proportional hazard mod…

生存曲線をLog-rank検定で比較する(survdiff関数) [R]

survidiff()を使ってLog-rank検定を行う Log-rank検定以外の方法を使う 層別Log-rank検定を行う 3つ以上の群間で生存曲線を比較する おわりに 参考資料 生存曲線が群間で等しいかどうかを検定するときにはLog-rank検定が使われる。 これは「群間でハザード関…

Cox比例ハザードモデルを当てはめてadjusted survival curveを描く(ggplot系survminerパッケージ)[R]

パッケージとデータの準備 Coxモデルへ当てはめる ggadjustedcurves( )を使ってadjusted survival curveを描く 群間で患者背景を揃えた生存曲線 新規患者に期待される生存曲線 おわりに 参考資料 Cox比例ハザードモデル(Cox proportional hazard model, CPH…

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

ggsurvplot( )を使ってKaplan-Meier生存曲線を描く 信頼区間をつける 色パレットを変更する 線の種類を変更する 打ち切りマークを変更する 中央値を示す補助線をつける Risk tableをつける 軸について色々 軸の目盛り間隔を変更する 軸の単位を変更する 軸の…