井出草平の研究ノート

R

SEMの推定値の解釈[R]

lavaanパッケージで行った共分散構造分析の補足的なエントリ。 ides.hatenablog.com 例として潜在変数のところだけピックアップする。 Latent Variables: Estimate Std.Err z-value P(>|z|) Std.lv Std.all ind60 =~ x1 1.000 0.670 0.920 x2 2.180 0.139 15…

共分散行列からモデルを推定する

lavaanは共分散行列からもモデルの推定ができる。 http://lavaan.ugent.be/tutorial/cov.htmllavaan.ugent.be 例題はこの論文のようである。 https://www.jstor.org/stable/270754?seq=1 共分散行列を作成し、変数に名前をつける。 getCovコマンドを使用する…

Structural Equation Modeling with lavaan

Structural Equation Modeling with lavaan (English Edition)作者:Gana , Kamel,Broc , Guillaume発売日: 2018/12/31メディア: Kindle版 lavaanの本。驚くほど高い。 検索をかけているとシーク教の結婚式の情報が出てくる。 en.wikipedia.org あと、パンジ…

lavaanパッケージで共分散構造分析を行う[R]

lavaanパッケージ習得のためのお勉強ノート。 http://lavaan.ugent.be/tutorial/sem.htmllavaan.ugent.be library(lavaan) データの詳細 lavaanに同梱されている選挙に関するデータを使用する。Bollenが1989年に書いた本で使われていたデータ。 11変数の75個…

prevalenceパッケージを用いた有病率の推定[R]

R

新型コロナ関係の疫学の問題に取り組んでいるブログがあり、読んでいるといろいろと勉強なることが多い。 mikuhatsune.hatenadiary.com prevalenceパッケージで似たようなことができるエントリがあった気がしたので、少し調べてみた。 prevalenceパッケージ…

クロス表から元データを復元する

クロス表の再分析をする機会があり、データから元データに変換する必要があったので少し調べてみた。 元データという呼び方はもちろん適切ではない。 呼び方を調べてみたのだがよくわからないのだが、意図としては、ケースが行、変数が列になっているデータ…

全変数の相関係数をcsvで書き出す

以前エントリしたhetcor関数を使った全変数の関連を把握する試みの続き。 ides.hatenablog.com エントリを入れたときにはサンプルデータでやったのでうまくいったが、実際のデータでやってみたところ使いにくさを感じた。 困った点はは変数が多すぎると相関…

texregの結果をRstudioで取り込むには

今回は2年以上前のエントリの続きである。 ides.hatenablog.com 一番下の節で紹介しているtexregパッケージを実戦で使ってみたのだが意外に使いにくい。 確かに、HTML形式で綺麗な回帰分析は作れるが、それをRstudioに張り付けてレポートにすること、つまり…

潜在プロファイル分析の標準書式での書き換え

mclustパッケージを使った潜在プロファイル分析のエントリではパイプ演算子によるコードを使用していた。 ides.hatenablog.com パイプを使わずにRの標準書式での記述を示しておきたい。 参考までに、パイプ演算子での表記も併記しておく。 まず、young_peopl…

パイプ演算子[R]

R

Rの分析例をみていると、パイプ演算子が使われたものがあるので、自分の勉強がてら基本的な使い方をメモしておきたい。 パイプ演算子の目的 Rの標準書式は可視性がいまいちである。 x <- c(0.109, 0.359, 0.63, 0.996, 0.515, 0.142, 0.017, 0.829, 0.907) …

SPSS、SAS、StataのデータをRでインポート、エクスポートをする

SPSS、SAS、StataのデータをRでインポート、エクスポートをするhavenパッケージの紹介である。 havenパッケージはtidyverseを構成するパッケージの一つである。 他の統計パッケージのデータを読み込む有名なパッケージはforeignだが、RStudioブログによると…

Rのmclustパッケージで潜在プロファイル分析

今回はRのmclustパッケージで潜在プロファイル分析を行う方法について解説したい。 潜在クラス分析はカテゴリカル変数、潜在プロファイル分析は(基本的には)連続変数という違いはあるものの、ケースごとのパターンからクラス分けをするのは同じである。 使い…

RからMplusを使う Rですべて完結させる

RからMplusが使えるようになるMplusAutomationパッケージについてのエントリ2つ目。 前回はデータをMplus形式に変換する方法について解説した。 ides.hatenablog.com 今回も下記の条件で書いている。 RStudioを使っている ファルダパスに日本語が混じってい…

RからMplusを使う ファイル変換編

RからMplusが使えるようになるMplusAutomationパッケージというものがある。 cran.r-project.org 有用な関数が複数含まれているので使い方がいくつかあるが、今回はRを使ってMplusのデータとコードの一部を作る方法を紹介しよう。 RStudioを利用する RとMplu…

poLCAでデータ加工をしてRandomLCAでBLRTの計算をする[R]

私たちが使い慣れているデータ(行にケース、列に変数という形式のもの)を使ってRでブートストラップ尤度比検定(Bootstrapped Likelihood Ratio Test)を計算する方法についてのエントリである。 poLCAには残念ながらBLRTの機能がないので、poLCAのpredcell関…

RandomLCAパッケージを用いた潜在クラス分析とBLRT[R]

Rで潜在クラス分析をするパッケージとしてはpoLCAが有名だが、RandomLCAでも潜在クラス分析ができる。 poLCAではブートストラップ尤度比検定(Bootstrapped Likelihood Ratio Test: BLRT)ができないが、RandomLCAではできるらしい。 cran.r-project.org Rando…

潜在クラス分析のエントロピーの計算[R]

RのpoLCAパッケージで潜在クラス分析のエントロピーを計算してみたい。 相対的エントロピーと絶対的エントロピー エントロピーという指標はMplusユーザーにとってはお馴染みのものである。 Mplusで出力されるのは正確に言うと、相対的エントロピー(Relative …

共変量を伴った潜在クラス分析[R]

Rで共変量を伴った潜在クラス分析を行ってみたい。 パッケージはpoLCAを使う。 poLCAパッケージを利用した潜在クラス分析は以前にエントリしている。 RのpoLCAパッケージで潜在クラス分析を行う 共変量とは何かというのは、以前にMplusでの方法をエントリし…

有病率の計算[R]

こちらのエントリでStataで行ったことをRでもやってみたい。 有病率の計算はprevalenceパッケージを用いる。 prevalence.cbra.be prevalenceパッケージはベイズ統計学の計算にJAGSとrjagsを利用する。 JAGSを使ったことがない場合には、インストールが必要で…

ソマーズのD[R]

SatataでソマーズのDの出力の方法を以前のエントリで書いたのでRでの出し方も書いておこうと思う。 ryoureadyパッケージ ryoureadyパッケージを使うのが最も楽なのではないかと思う。 ord.somers.d関数を利用する。データは「データ作成」以降のスクリプトに…

オッズ比のバリエーション

オッズ比にいくつかの計算方法があるということには少し前から気になっていた。といっても僕の勉強する範囲の研究では古典的なオッズ比以外みたことがなく、何のことかよくわからなかった。 Rのepitoolsパッケージでは4種類のオッズ比が出力できる。何が出力…

2値と連続変数の関連を示す指標

ROC曲線下の面積の続きである。 医学分野では連続変数とカテゴリカル変数の関連を表現する指標としてROC曲線下の面積が利用される理由はよく知らないのだが、他にも使える指標があるのではないかと思い、候補を並べてみた。 勉強をしているとROC曲線下の面積…

ROC曲線のサンプルサイズの推定

ROC曲線のサンプルサイズの推定について。質問を受けたので推定方法を書いておこう。 pROCパッケージのpower.roc.test関数を利用する。 aucは目標とするACUの値。任意の値である。 sig.levelは有意水準。デフォルトでは5%となっていて書かなくてもいいし、変…

ROC曲線下の面積

ROC曲線のAUC(Area Under the Curve)はAUCは0から1までの値をとる。値が1だと完全に判別ができており、ランダムであるとき、AUC = 0.5となる。 医学で尺度(連続変数)と診断(2値)の一致度、つまり併存妥当性を表すときに使うらしい。論文でもよく使われるそ…

尺度水準に適した相関係数とシミュレーション

今回は相関係数の比較をする。 通常、相関係数というとピアソンの積率相関係数のことを指す。 ピアソンの積率相関係数は連続変数と連続変数の関連を調べるために使用されるが、連続変数以外でも下記のような相関係数がある。 ピアソンの積率相関係数: 連続変…

分位点でデータをリコードする

以前にもシミュレーションで使っている手技たが一度まとめておこうと思う。 55点が平均で標準偏差15程度のテストっぽい仮想データを作成する。 set.seed(123) # 乱数シードの固定 d1 <- data.frame(rnorm(100, mean=55, sd= 15)) # 100個のデータの作成 d1 <…

全変数の関連を楽に把握する試み(ただし道半ば)

二次分析をする際に、データのどこが使える部分なのかわからない時がしばしばある。そういう時に、褒められた方法とは言えないかもしれないが、全変数の関連を把握できると分析のとっかかりになることがある。 ということで、いかに楽に把握をするかというこ…

相関係数を指定した乱数を作る

相関係数のデモをirisデータで作っていてうまくいかず、サンプルデータを作成した時の副産物。 今回は数学と科学のテスト点のサンプルデータを作った。 使用するのはrmvnormであって多次元正規分布を作成する機能である。パッケージは不要であるmvtnormパッ…

2値カテゴリカル因子分析と潜在クラス分析のシミュレーション, その2

前回のエントリ、2値のカテゴリカル因子分析と潜在クラス分析の結果の差異で因子分析と潜在クラス分析のグループ分けの違いを分析した。 今回は以前のエントリで使用した児童向けウェクスラー式知能検査(Wechsler Intelligence Scale for Children; WISC)…

2値のカテゴリカル因子分析と潜在クラス分析の結果の差異

2値のカテゴリカル因子分析と2値の潜在クラス分析の結果どのように違うのかをシミュレーションしてみたい。因子分析も潜在クラス分析もグループ分けをする手技である。しかし、両者はグループの分け方が異なる。因子分析が変数の近さでグループを作るのに…