将 1 行实例转换为 R 中的合适格式以进行重复测量 ANOVA
Converting 1 row instance to a suitable format in R for repeated measures ANOVA
我真的很苦恼如何将我的数据格式化为 R 中合适的格式。
目前,我的数据格式为:
ParticipantNo | Sex | Age | IV1(0)_IV2(0)_DV1 | IV1(1)_IV2(0)_DV1 | etc
IV1
有两个级别,IV2
有 3 个级别,因此每个 DV 有 6 列。
我将它们堆叠在一起,以便我将所有 IV1
结果相互比较,IV2
使用 Friedman 检验也是如此。
但是,我想比较性别和年龄等不同的群体,并被告知方差分析最适合这个。我之前在 SPSS 中直接使用过 ANOVA,它接受这种数据格式。
我遇到的问题是将此数据转换为 R 中的正确格式。
据我了解,它应该是这样的:
1 | M | 40 | IV1(0)_IV2(0)_DV1_Result
1 | M | 40 | IV1(1)_IV2(0)_DV1_Result
1 | M | 40 | IV1(0)_IV2(1)_DV1_Result
1 | M | 40 | IV1(1)_IV2(1)_DV1_Result
1 | M | 40 | IV1(0)_IV2(2)_DV1_Result
1 | M | 40 | IV1(1)_IV2(2)_DV1_Result
那我可以做
aov(sex~DV1_result, data=data)
这看起来是正确的做法吗?如果是这样,我如何从 R 中的格式转换为我需要的格式?
想通了!
我对我的数据使用了 stack
,然后是 separate
(即 s = separate(stack(data), "ind", c("IV1", "IV2")
。
然后我可以通过 aov(values ~ IV1 * IV2, data = s)
进行方差分析
希望这对某人有所帮助!
我真的很苦恼如何将我的数据格式化为 R 中合适的格式。
目前,我的数据格式为:
ParticipantNo | Sex | Age | IV1(0)_IV2(0)_DV1 | IV1(1)_IV2(0)_DV1 | etc
IV1
有两个级别,IV2
有 3 个级别,因此每个 DV 有 6 列。
我将它们堆叠在一起,以便我将所有 IV1
结果相互比较,IV2
使用 Friedman 检验也是如此。
但是,我想比较性别和年龄等不同的群体,并被告知方差分析最适合这个。我之前在 SPSS 中直接使用过 ANOVA,它接受这种数据格式。
我遇到的问题是将此数据转换为 R 中的正确格式。
据我了解,它应该是这样的:
1 | M | 40 | IV1(0)_IV2(0)_DV1_Result
1 | M | 40 | IV1(1)_IV2(0)_DV1_Result
1 | M | 40 | IV1(0)_IV2(1)_DV1_Result
1 | M | 40 | IV1(1)_IV2(1)_DV1_Result
1 | M | 40 | IV1(0)_IV2(2)_DV1_Result
1 | M | 40 | IV1(1)_IV2(2)_DV1_Result
那我可以做
aov(sex~DV1_result, data=data)
这看起来是正确的做法吗?如果是这样,我如何从 R 中的格式转换为我需要的格式?
想通了!
我对我的数据使用了 stack
,然后是 separate
(即 s = separate(stack(data), "ind", c("IV1", "IV2")
。
然后我可以通过 aov(values ~ IV1 * IV2, data = s)
希望这对某人有所帮助!