Проблема в том, что вы пытаетесь использовать ANOVA как t-критерий.
aov(ready$GDPpercapita[ready$cluster==1]
возвращает вектор значений GDPpercapita .
aov(ready$GDPpercapita[ready$cluster==2]
возвращает другой вектор значений GDPpercapita .
Теперь у вас есть два вектора, каждый из которых содержит значения вашей переменной ответа.При попытке сравнить средние значения двух групп наблюдаемых значений следует использовать тест с 2 выборками (t-критерий очень распространен).ANOVA является излишним, и он действительно предназначен для сравнения средств во многих группах.
Код
t.test(ready$GDPpercapita[ready$cluster==1], ready$GDPpercapita[ready$cluster==2])
будет сравнивать среднее значение GDPpercapita между кластерами 1 и 2.
Поскольку вы пытаетесь сравнить среднее значение GDPpercapita по многим группам, вы можете сделать это для каждого кластера (обычно называемого парным t-тестированием),Однако вам придется использовать коррекцию (например, Бонферрони), которая, как правило, не идеальна.
В качестве альтернативы ANOVA может показаться хорошим началом, если она используется правильно.
Функция aov
принимает формулу в качестве первого параметра.Вы строите формулу, используя ~
(думайте об этом операторе как "по") и +
(этот оператор похож на "и").
Для сравнения среднего GDPpercapita каждогокластер друг против друга кластер, вы бы назвали:
aov(GDPpercapita ~ cluster, data = ready)
Прочитайте это как "в наборе данных готов , сравните среднее GDPpercapita BY каждое значение переменной cluster".
Вы можете добавить больше сравнений, например так:
aov(GDPpercapita ~ cluster + CurrentHE, data = ready)
Читать это как"в наборе данных готов сравните среднее значение GDPpercapita BY каждое значение переменной cluster AND каждое значение переменной CurrentHE".
Обратите внимание, что вам, возможно, придется выполнить специальное тестирование, поскольку ANOVA скажет вам только, какие включенные переменные ( cluster , CurrentHE и т. д.), по-видимому, существенно влияет на переменную ответа.Это не даст конкретной информации, такой как «кластер 1 связан с более высоким ВВП на 10 * *, чем кластер 2».Я бы порекомендовал прочитать о ANOVA и t-тестировании, а также о том, как их использовать в R.