ANOVA с использованием формата таблицы с широкими данными

Мои исходные данные имеют широкий формат, как показано в Таблице A.

Допустим, я хочу исследовать, страдают ли ветераны, прошедшие разную военную службу, депрессией разного уровня.

Я решаю провести односторонний тест ANOVA для данных с Depression_Score в качестве критерия и «выполнение служебных обязанностей 'как фактор. Я знаю, что могу преобразовать данные в длинный формат, как в Таблице B, а затем запустить ANOVA.

Но вот мой вопрос: можно ли запустить тест ANOVA непосредственно на Таблице A без преобразования данных в Таблицу B?

Если да, то какие команды R я бы использовал для этого?

Таблица А:

ArmyVet_ID  Served_WW2  Served_KoreanWar    Served_VietnamWar   Depression_Score
110001          1              0                    0                3
110002          1              0                    0                1
110004          0              1                    0                4
110005          0              1                    0                3
110009          0              0                    1                7
110010          0              0                    1                5

Таблица B:

ArmyVet_ID    Served            Depression_Score
110001          WW2                    3
110002          WW2                    1
110004          KoreanWar              4
110005          KoreanWar              3
110009          VietnamWar             7
110010          VietnamWar             5

person thanks_in_advance    schedule 20.06.2016    source источник


Ответы (1)


Если вы отбросите один из столбцов и передадите его в as.matrix, вы можете получить тот же результат, что и при передаче комбинированного коэффициента:

anova(lm(Depression_Score ~ as.matrix(A[3:4]), data=A))
#Analysis of Variance Table
#
#Response: Depression_Score
#                  Df Sum Sq Mean Sq F value Pr(>F)
#as.matrix(A[3:4])  2 16.333  8.1667  5.4444 0.1004
#Residuals          3  4.500  1.5000 

По сравнению с результатом коэффициента в соответствии с таблицей B в вашем примере:

anova(lm(Depression_Score ~ I(factor(c(1,1,2,2,3,3))), data=A))
#Analysis of Variance Table
#
#Response: Depression_Score
#                               Df Sum Sq Mean Sq F value Pr(>F)
#I(factor(c(1, 1, 2, 2, 3, 3)))  2 16.333  8.1667  5.4444 0.1004
#Residuals                       3  4.500  1.5000
person thelatemail    schedule 20.06.2016
comment
Во втором случае должно быть data=B? Еще одно уточнение. Если бы было 4 столбца факторов (вместо 3, как в этом случае), стал бы я кормить 3 из этих столбцов as.matrix и так далее? - person thanks_in_advance; 20.06.2016
comment
@ user1883050 - это не имеет значения - Depression_Score одинаков как в A, так и в B в ваших примерах. Да, я считаю, что вам нужно всегда использовать n-1 столбца, так как вы можете делать только n-1 сравнения без увеличения вдвое. См. Столбец Df и обратите внимание, что в результатах поиска anova он всегда равен 2. - person thelatemail; 20.06.2016