rStats.js v1.3.0
    検索インデックスを準備しています...

    Function lmerAnova

    • lmer で当てはめた線形混合モデルの分散分析表です。分母の自由度は Satterthwaite のものです (lmerTest の anova())。または、当てはめの配列を与えた場合は、モデルの尤度比による比較です (複数の当てはめに対する lme4 の anova())。R の lmerTest::anova() と同等です。

      1 つの当てはめの場合: 固定効果の各項は同時に検定されます (その仮説行列の F 検定です。既定は Type III で、lmerTest と同じく II または I を指定できます。検定の内容は lmerContest を参照)。Type III で交互作用に空のセルがある場合は、メッセージ Missing cells for: ... を出します。検定のない項は最後に並び、NaN になります。

      複数の当てはめの場合 (同じデータオブジェクトで、同じ行を使って当てはめたもの): REML の当てはめは、まず最尤法で当てはめ直します (refit: false でない限り)。モデルはパラメータの数で並べ替えられ、それぞれ 1 つ前のモデルと尤度比検定で比べられます。

      Parameters

      • fit: LmerResult

        lmer の結果です (返されたオブジェクトそのもので、コピーではありません)。または、少なくとも 2 つの当てはめの配列です。

      • Optionaloptions: LmerAnovaOptions

        1 つの当てはめの場合は type、複数の場合は refit と names です。

      戻り値 LmerAnovaTable

      // R: anova(lmerTest::lmer(y ~ x * f + (1 | g), data))
      const data = {
      y: [3.1, 4.0, 5.2, 6.8, 7.1, 8.3, 2.2, 3.5, 3.9, 5.9, 6.1, 7.4, 4.4, 5.0, 6.9, 3.0, 4.1, 4.9],
      x: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
      f: ["u", "u", "v", "v", "u", "v", "u", "v", "v", "u", "v", "u", "v", "u", "u", "v", "u", "v"],
      g: ["a", "a", "a", "b", "b", "b", "c", "c", "c", "d", "d", "d", "e", "e", "e", "f", "f", "f"],
      };
      const fit = lmer("y ~ x * f + (1 | g)", data);
      const t = lmerAnova(fit);
      t.terms; // ["x", "f", "x:f"]
      t.numDF; // [1, 1, 1]
      t.F; // [82.027, 0.44207, 0.53285]
      // R: anova(lme4::lmer(y ~ x + (1 | g), data), fit)
      const c = lmerAnova([lmer("y ~ x + (1 | g)", data), fit], { names: ["small", "full"] });
      c.npar; // [4, 6]
      c.Chisq; // [NaN, 0.6817]
      c.messages; // ["refitting model(s) with ML (instead of REML)"]
    • lmer で当てはめた線形混合モデルの分散分析表です。分母の自由度は Satterthwaite のものです (lmerTest の anova())。または、当てはめの配列を与えた場合は、モデルの尤度比による比較です (複数の当てはめに対する lme4 の anova())。R の lmerTest::anova() と同等です。

      1 つの当てはめの場合: 固定効果の各項は同時に検定されます (その仮説行列の F 検定です。既定は Type III で、lmerTest と同じく II または I を指定できます。検定の内容は lmerContest を参照)。Type III で交互作用に空のセルがある場合は、メッセージ Missing cells for: ... を出します。検定のない項は最後に並び、NaN になります。

      複数の当てはめの場合 (同じデータオブジェクトで、同じ行を使って当てはめたもの): REML の当てはめは、まず最尤法で当てはめ直します (refit: false でない限り)。モデルはパラメータの数で並べ替えられ、それぞれ 1 つ前のモデルと尤度比検定で比べられます。

      Parameters

      • fits: readonly LmerResult[]
      • Optionaloptions: LmerCompareOptions

        1 つの当てはめの場合は type、複数の場合は refit と names です。

      戻り値 LmerCompareTable

      // R: anova(lmerTest::lmer(y ~ x * f + (1 | g), data))
      const data = {
      y: [3.1, 4.0, 5.2, 6.8, 7.1, 8.3, 2.2, 3.5, 3.9, 5.9, 6.1, 7.4, 4.4, 5.0, 6.9, 3.0, 4.1, 4.9],
      x: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
      f: ["u", "u", "v", "v", "u", "v", "u", "v", "v", "u", "v", "u", "v", "u", "u", "v", "u", "v"],
      g: ["a", "a", "a", "b", "b", "b", "c", "c", "c", "d", "d", "d", "e", "e", "e", "f", "f", "f"],
      };
      const fit = lmer("y ~ x * f + (1 | g)", data);
      const t = lmerAnova(fit);
      t.terms; // ["x", "f", "x:f"]
      t.numDF; // [1, 1, 1]
      t.F; // [82.027, 0.44207, 0.53285]
      // R: anova(lme4::lmer(y ~ x + (1 | g), data), fit)
      const c = lmerAnova([lmer("y ~ x + (1 | g)", data), fit], { names: ["small", "full"] });
      c.npar; // [4, 6]
      c.Chisq; // [NaN, 0.6817]
      c.messages; // ["refitting model(s) with ML (instead of REML)"]