ねこすたっと

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

data handling

高校生のためのデータ分析入門 (29):キレイな分析用データセットを作成しよう

数学が苦手なうちのJKに、将来必要となるかもしれないデータ分析への抵抗感をなくしてもらう目的で記事を書いてきました。今回と次回で、実際にデータを分析する準備をしていきましょう。 分析を始める前にデータをキレイにしよう キレイなデータセットとは …

rowwise関数を使って複数の列を組み合わせた変数を作成する(tidyverseパッケージ)[R]

臨床現場では、対象者の年齢や症状、検査値などをもとにして計算される「何とかスコア」が使われることがよくあると思います。 臨床研究でも、既に収集された項目からcomposite scoreを計算し、変数に追加したいことはよくあります。 今回はtidyverseパッケ…

across関数を使ってデータフレームの列に対して一括で操作する(tidyverseパッケージ)[R]

以前、データフレームの列(=変数)に対して、追加・名前変更・要約などの操作方法についてまとめました。 necostat.hatenablog.jp necostat.hatenablog.jp 最近は列の操作でacross関数を使うことが多くなってきたので、ここらへんで学び直しておこうと思い…

反復処理でサブグループ解析を一括で行う(tidyverse系purrrパッケージ)[R]

サブグループ解析とは、全体からある特性を持った一部の集団(例:男性)を取り出して解析をすること。ランダム化が崩れたり、解析対象集団のサイズが小さくなるから検出力が落ちたり、多重検定の問題が生じたり、と色々注意はある。 でもこの記事では、そこ…

文字列の操作(2):文字列を加工する(stringrパッケージ)[R]

文字列を変換する 文字列の一部分を置換する・除去する 大文字・小文字を変換する 新しい文字列を生成する 文字列を結合する 文字列を分割する 文字列を挿入する 文字列の長さを調整する おわりに 参考資料 stringrパッケージは文字列データの操作を楽にして…

文字列の操作(1):文字列を検出する・並べ替える(stringrパッケージ)[R]

パターンにマッチする文字列を検出する 指定パターンが含まれるかどうか判定する 指定パターンが含まれる位置を返す 文字列の一部分を抽出する 文字列を並べ替える おわりに 参考資料 stringrパッケージは文字列データの操作を楽にしてくれるパッケージ。 ti…

因子型データに対する操作(forcatsパッケージ)[R]

因子型データとは 因子型データの作り方 factor( )を作って因子型データを作る 2つの因子型データを統合する 因子型データの内容を確認する 水準の順序を変更する 他の変数に基づいて水準を並べ替える 水準の値を変更する fct_recode( )で水準のラベル名を変…

日付・時間の操作(2):期間を計算する(lubridateパッケージ)[R]

時間型データを丸める(切り上げ・切り捨て・四捨五入) 期間を計算する duration:時間の長さを秒単位に直して計算する period:人間の感覚の年月日で計算する interval:2つの時点の間隔を秒単位で計算する int_length( )を使ってintervalの長さを求める i…

日付・時間の操作(1):時間型データを作成する・要素を抽出する(lubridateパッケージ)[R]

時間型データの種類 ymd_hms( )を使って文字列から時間型データを作成する 時間帯(タイムゾーン) make_datetime( )を使って数値から時間型データを作成する 時間型データの各要素を抽出する 日付を曜日に変換する 半期・四半期に変換する 時間型データが条…

多重代入法(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になっている。 > …

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

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

データを縦長・横長に変換する操作(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( )で行番号を変数に追加する おわりに 参考…