Rのノンパラメトリック反復測定マルチウェイAnova


16

次の質問は、私にとってしばらくの間、これらの聖杯の一つです。誰かが良いアドバイスを提供できることを願っています。

Rを使用して、ノンパラメトリックの反復測定マルチウェイアノーバを実行したいと思います。

私はしばらくオンライン検索と読書を行ってきましたが、これまでは一部のケースのみの解決策を見つけることができました:一方向ノンパラメトリック反復測定アノーバのフリードマン検定、多元ノンパラメトリックの{car}アノーバ関数による順序回帰anovaなど。部分的な解決策は、この質問スレッドで私が探しているものではありません。私がこれまでに公開した投稿でこれまでの調査結果をまとめました(タイトル:反復測定ANOVA with R(関数とチュートリアル)、誰でも役立つ場合)


オンラインで読んだ内容が正しい場合、このタスクは混合順序回帰モデル(別名:比例オッズモデル)を使用して達成できます。

関連性があると思われる2つのパッケージを見つけましたが、このテーマに関するビネットは見つかりませんでした。

そのため、このテーマに慣れていない私は、ここの人々からの指示を期待していました。

このテーマに関するチュートリアル/推奨読書はありますか?さらに良いことに、Rでこれを実行および分析する方法の簡単なコード例を提案できます(例:「ノンパラメトリック反復測定multiway anova」)。


タル、これに対する解決策を見つけたかどうか尋ねてもいいですか?私は同じ問題を抱えており、以下の回答は答えを見つけるのを助けるのに役立つかもしれませんが、実際には決定的な答えを提供しません。9つの序数のDVと2つの時点があり、実行したい同じテストを探しています。
トーボン

1
こんにちはトーボン。私は解決策を思いついたことがありません。順列テストが最も安全なルートになると思いますが、座ってそれを機能させる時間はありませんでした。もしそうなら-あなたの答えを投稿するために再び来てください。乾杯、T
タルガリリ

迅速な対応ありがとうございます。これを解決する必要がありますので、お知らせします。
トーボン

回答:


8

EZの私は作者午前いるパッケージは、機能は並べ替え検定を計算し、おそらく(ドキュメントは限り認めている)適切な相互作用を行うことないezPerm()と呼ばれています。最新バージョンにはezBoot()と呼ばれる関数があり、従来のセル手段を予測統計として使用するか、混合効果モデリングを使用して予測を行うことにより、反復測定を考慮したブートストラップ再サンプリングを実行できます(サブジェクトをリサンプリングしてから、サブジェクト内で)。デザインの各セルに対して。混合効果モデルの予測からのブートストラップCIがどの程度「ノンパラメトリック」であるかはまだわかりません。私の直感では、それらは合理的にノンパラメトリックであると考えられるかもしれませんが、混合効果モデルについてまだ学んでいるので、この分野での自信は低いです。


こんにちは、マイク。答えてくれて、あなたのパッケージに感謝します-それは本当に素晴らしいです!
タルガリリ

@Mike、あなたのパッケージは、複数の要素が混在するデザインで唯一機能しているようです。aovp代替-孤立からlmpermパッケージは-参照し、p値のための巨大な変化を生じさせる、これを。いくつか質問があります:の実装に関する参考文献の参照先はどこにありezPermますか?関数がおそらく相互作用を適切に行わないことをどのように解釈できますか?この場合の事後テストとは何ですか?ありがとう!
toto_tico

@マイク、ezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)相互作用が有意であるかどうかをダブルチェックするのは理にかなっていますか?
toto_tico

5

疑わしいときは、ブートストラップしてください!本当に、私はそのようなシナリオを処理するための缶詰の手順を知りません。

ブートストラップは、手元のデータからいくつかのエラーパラメータを生成する一般的に適用可能な方法です。ブートストラップ手順は、典型的なパラメトリックな仮定に頼るのではなく、サンプルの特性を利用して、サンプルの推定値を比較できる経験的分布を生成します。

グーグルの学者は金である...それは以前に行われた...少なくとも一度。

Lunneborg、Clifford E .; Tousignant、ジェームズP .; 1985年「反復測定設計への応用を備えたエフロンのブートストラップ」。多変量行動研究; 4月85巻 20問題2、p161、18p


1
リード・ブレットをありがとう!誰かがRで今までにそれを実装するようになったのだろうか(私は推測しません)。
タルガリリ

1
正しい。Rには、ブートストラップやその他のランダム化方法を支援するための多くのルーチンがありますが、この問題に特有の何かを見つけることはわかりません。
ブレット

とてもいい最初の文。私はそれを使用する予定なので、それが著作権で保護されていないことを願っています:D
gui11aume

0

いくつかのフォーラムやメーリングリストで言及されている「トリック」があります。JoopHoxの著書「Multilevel Analysis」(2010年第2版)、189ページでも言及されています。

アイデアは、長いデータをすべてのDV応答を含む新しいDVを作成する長い長いデータセットに再フォーマットし、DVの性質に関する情報を保持するインデックス変数を使用してこの結果を予測することです。

9つのうつ症状(通常)、2つの測定ポイント、300人の被験者がいるとします。したがって、通常のデータセットには300行、長いデータセットには600行ありますが、この新しいデータセットには9(症状)x 2(時間)x 300(対象)行があります。

新しいDV変数「symptoms」には9つの症状の参加者の症状の重症度が含まれ、変数「index」には症状の性質に関する情報(1〜9)が含まれ、次に2つの変数「time」および「ユーザーID"。

ordinalこれで、パッケージを使用してこれを実行できます。

data<-read.csv("data_long_long.csv", head=T)

data$symptoms <- factor(data$symptoms)
data$time <- factor(data$time)
data$index <-factor(data$index)

m1<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)

私の特定のケースでは、インデックスと時間の間に重要な相互作用があるかどうかに興味があったので、追加のモデルを1つ実行して比較しました。

m2<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)
anova(m1,m2)

CLMM2はランダムインターセプトモデルを使用します(私の知る限り、パッケージordinalはランダムな勾配を行いません)。ランダムインターセプトモデルを使用しない場合は、CLMを使用して代わりにモデルを実行できます。

m3<-clm(symptoms ~ index+time, data = data)

1
m1とm2はまったく同じではありませんclmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)。新しいclmm関数でこれを表現する方法を知っていますか?表記についてはわかりません。
-toto_tico
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.