R のマルチレベル回帰モデル、特にレベル 2 の「メジャー」に予測変数を追加する方法について質問があります。
次の例を検討してください (これは実際のデータセットではないため、実際には値があまり意味をなさない可能性があります)。
date id count bmi poll
2012-08-05 1 3 20.5 1500
2012-08-06 1 2 20.5 1400
2012-08-05 2 0 23 1500
2012-08-06 2 3 23 1400
データには次のものが含まれます
- 別々の人(「id」...つまり2人です)
- 各人の体格指数 (「bmi」なので、id 内で変化しません)
- 各人が特定の日に抱えている心臓の問題の数 (「カウント」)。したがって、人 1 は 8 月 5 日に 3 つの問題がありましたが、人 2 はその日に問題/問題がありませんでした。
- その日に測定された汚染物質(オゾンや二酸化硫黄など)の量
私の一般的な研究課題は、汚染物質の量が人口の心臓病の数に影響を与えるかどうかです. 最初のステップでは、これは単純な線形回帰である可能性があります: lm(count ~ poll)
しかし、毎日の私のデータは、いわば人の中でクラスター化されています。私は人 1 から 2 つのメジャーと人 2 から 2 つのメジャーを持っています。
したがって、私の基本的なアイデアは、レベル 2 変数として人 (id) を使用してマルチレベル モデルを設定することでした。
この分析には nlme パッケージを使用しました。
lme(fixed=count ~ poll, random = ~poll|id, ...)
これまでのところ問題はありません。
しかし、レベル 2 への真の影響は、私にはさまざまな人物がいるという事実からだけではないかもしれません。むしろ、個人の体内での効果は、その人の bmi (および年齢、喫煙量など、個人に関連する他の多くの変数) からもたらされる可能性がはるかに高くなります。
長い話を短くします:
lme 関数でそのようなレベル 2 予測子を指定するにはどうすればよいですか?
言い換えれば、心臓の問題と汚染との関係が人の体格指数によって異なる/クラスター化/緩和されるモデルをどのように設定できますか (そして、私が言ったように、この人の喫煙量または年齢によっても追加される可能性があります)
残念ながら、私が欲しいものをRに伝える方法についての手がかりがありません。私が望むことを実行できる他のソフトウェア(そのうちの1つはHLMと呼ばれる)を知っていますが、Rでもこれができると確信しています...
だから、助けてくれてありがとう!
デシェン