сообщение об ошибке manova в R: длина 'dimnames' [1] не равна экстенту массива - PullRequest
1 голос
/ 15 декабря 2011

Попытка запустить 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 (градусы), снова запустил acc_manova и обнаружил ту же ошибку.

Есть идеи по этому поводу?

1 Ответ

1 голос
/ 15 декабря 2011

Ваш столбец градусов не числовой, а коэффициент (категориальные данные).Изменение коэффициента на числовое решает вашу проблему:

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
...