[解決済み] lmer エラー: グループ化係数は観測数未満でなければならない
2022-02-08 21:35:52
質問
私はいくつかのデータで混合効果モデルを実行しようとしていますが、固定効果の1つで苦労しています、私はそれが主に要因によるものだと思います!
サンプルデータです。
data4<-structure(list(code = structure(1:10, .Label = c("10888", "10889",
"10890", "10891", "10892", "10893", "10894", "10896", "10897",
"10898", "10899", "10900", "10901", "10902", "10903", "10904",
"10905", "10906", "10907", "10908", "10909", "10910", "10914",
"10916", "10917", "10919", "10920", "10922", "10923", "10924",
"10925", "10927"), class = "factor"), speed = c(0.0296315046039244,
0.0366986630049636, 0.0294297725505692, 0.048316183511095, 0.0294275666501456,
0.199924957584131, 0.0798850288176711, 0.0445886457047146, 0.0285993712316451,
0.0715158276875623), meanflow = c(0.657410742496051, 0.608271363339857,
0.663241108786611, 0.538259450171821, 0.666299529534762, 0.507156583629893,
0.762448863636364, 37.6559178370787, 50.8557196935557, 31.6601587837838
), length = c(136, 157, 132, 140, 135, 134, 144, 149, 139, 165
), river = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L
), .Label = c("c", "f"), class = "factor")), .Names = c("code",
"speed", "meanflow", "length", "river"), row.names = c(2L, 4L,
6L, 8L, 10L, 12L, 14L, 16L, 18L, 20L), class = "data.frame")
私のモデルはこのようなものです。
model1<-lmer(speed ~ river + length +(1|meanflow)+(1|code), data4)
で、実行するとエラーメッセージが返ってきます。
Error in checkNlevels(reTrms$flist, n = n, control) :
number of levels of each grouping factor must be < number of observations
インターネットを探し回った結果 1件の回答がありました。
が、どうしても質問に対する回答が理解できない!
解決方法は?
ここで2つの問題があります。
-
の値ごとに1つずつ観測しているように見えます。
code
. つまり,残差分散(これはlmer
一般的には線形混合モデル)、および、amone-to-amone(amone-to-amone)code
分散 -- これらのパラメータは両方とも同じ分散成分を推定しようとするものであり,どのような組み合わせのvar(residual)
とvar(code)
を足した値が同じであれば、同じようにデータへの適合度が高いことを表します。 -
の値ごとに1つの観測値を持っています。
meanflow
これはmeanflow
は連続変数であり、通常これは グループ化変数 をモデルで使用します。 この用語で何を捉えようとしているのか、よくわからないのですが。
これらのモデルを実際にフィットさせることができます。
lmerControl
でチェックを回避することができますが、必ずしも賢明な結果が得られるわけではありません!
model2 <- lmer(speed ~ river + length +(1|meanflow)+(1|code), data4,
control=lmerControl(check.nobs.vs.nlev = "ignore",
check.nobs.vs.rankZ = "ignore",
check.nobs.vs.nRE="ignore"))
ここでは、分散をほぼ3等分しています。
VarCorr(model2)
## Groups Name Std.Dev.
## meanflow (Intercept) 0.035354
## code (Intercept) 0.032898
## Residual 0.033590
ランダム効果を1つだけ(やはり不適切)使用した場合。
model0 <- lmer(speed ~ river + length +(1|meanflow), data4,
control=lmerControl(check.nobs.vs.nlev = "ignore",
check.nobs.vs.rankZ = "ignore",
check.nobs.vs.nRE="ignore"))
これで、分散はちょうど半分になりました。
VarCorr(model0)
## Groups Name Std.Dev.
## meanflow (Intercept) 0.041596
## Residual 0.041596
関連
-
[解決済み】エラー:'dimnames' [2]の長さが配列の範囲と等しくない [終了しました]
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み] ヒートマップ作成時のエラー - 外部関数呼び出しでNA/NaN/Inf (arg 11)
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】forループを実行すると「要因のレベルセットが異なる」というエラーが発生する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS
-
[解決済み] Stataバージョン5-12の.dtaファイルではない
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】apply()とadply()の出力が異なる件)
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み】二項演算子への非数値引数【非公開
-
[解決済み] テスト
-
[解決済み】randomForestの実行予測で「NA/NaN/Inf in foreign function call (arg 7)」をなくすには?