1

このデータで manova を実行しようとしています:

data.frame を作成します。

acc <- data.frame(Degrees = c("5","8","10"), MPH10=c(0.35, 0.37, 0.32),
MPH25=c(0.19, 0.28, 0.30), MPH40=c(0.14, 0.19, 0.29), MPH55=c(0.10, 0.19, 0.23))

data.frame を確認します。

 acc
  Degrees MPH10 MPH25 MPH40 MPH55
1     5  0.35  0.19  0.14  0.10
2     8  0.37  0.28  0.19  0.19
3     10  0.32  0.30  0.29  0.23

次のように入力します。

acc_manova <- manova(cbind(MPH10,MPH25,MPH40,MPH55) ~ Degrees, data = acc)

それを実行します:

 acc_manova

エラー メッセージが表示されます。

Call:
   manova(cbind(MPH10, MPH25, MPH40, MPH55) ~ as.factor(Degrees), 
    data = acc)

Terms:
Error in dimnames(tmp) <- list(c(rn, "Deg. of Freedom"), nmeffect) : 
  length of 'dimnames' [1] not equal to array extent

したがって、度列の名前 d05、d08、d10 に関係していると考えられるため、d と 0 のプレースホルダーを削除しました。同じエラーメッセージがありました

次に、as.factor(Degrees) を追加し、acc_manova を再度実行したところ、同じエラーが発生しました。

これに関するアイデアはありますか?

4

1 に答える 1

1

Degrees列は数値ではなく、因子(カテゴリデータ)です。係数を数値に変更すると、問題が解決します。

acc$Degrees = as.numeric(acc$Degrees)
acc_manova <- manova(cbind(MPH10,MPH25,MPH40,MPH55) ~ Degrees, data = acc)
> acc_manova
Call:
   manova(cbind(MPH10, MPH25, MPH40, MPH55) ~ Degrees, data = acc)

Terms:
                    Degrees   Residuals
resp 1           1.2500e-03  1.6667e-05
resp 2          0.000200000 0.006666667
resp 3          0.005000000 0.006666667
resp 4          0.000800000 0.008066667
Deg. of Freedom           1           1

Residual standard error: 0.004082483 0.08164966 0.08164966 0.08981462 
Estimated effects may be unbalanced
于 2011-12-15T12:51:18.750 に答える