使用宽数据 table 格式的方差分析
ANOVA using wide data table format
我的原始数据是 Table A 中显示的宽格式。
假设我想研究经历过不同兵役的退伍军人是否患有不同程度的抑郁症。
我决定 运行 对数据进行单向方差分析测试,其中 Depression_Score 作为标准和“任职时间”作为因素。我知道我可以将数据重塑为长格式,如 Table B,然后 运行 方差分析。
但这是我的问题:是否可以直接在 Table A 上 运行 进行方差分析测试,而无需将数据重塑为 TableB?
如果是,那么我将使用哪些 R 命令来对此进行编程?
Table答:
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
Table乙:
ArmyVet_ID Served Depression_Score
110001 WW2 3
110002 WW2 1
110004 KoreanWar 4
110005 KoreanWar 3
110009 VietnamWar 7
110010 VietnamWar 5
如果您删除其中一列并将其提供给 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
与您示例中 table 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
我的原始数据是 Table A 中显示的宽格式。
假设我想研究经历过不同兵役的退伍军人是否患有不同程度的抑郁症。
我决定 运行 对数据进行单向方差分析测试,其中 Depression_Score 作为标准和“任职时间”作为因素。我知道我可以将数据重塑为长格式,如 Table B,然后 运行 方差分析。
但这是我的问题:是否可以直接在 Table A 上 运行 进行方差分析测试,而无需将数据重塑为 TableB?
如果是,那么我将使用哪些 R 命令来对此进行编程?
Table答:
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
Table乙:
ArmyVet_ID Served Depression_Score
110001 WW2 3
110002 WW2 1
110004 KoreanWar 4
110005 KoreanWar 3
110009 VietnamWar 7
110010 VietnamWar 5
如果您删除其中一列并将其提供给 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
与您示例中 table 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