我正在分析来自 3 种不同步态速度的数据。对于每个组/速度,我正在确定称为“角度”的特定值。每组有不同的样本量。所以,我需要比较多模态分布,我想统计测试以下内容:
- 每组内 3 个模态(峰)之间存在显着差异
- 所有三组的相同模式之间没有显着差异(与其他 2 种模式相比)。
分布如下所示,值得注意的是,每组的 3 种模式相对于彼此出现大约相同的值。
我被这个困住了。我已经尝试过 KDE,并且得到了 3 个预期的集群。我不确定如何证明差异。我也尝试过 Kruskal-Wallis 非参数检验(针对不同的样本量),但结果显示组之间存在显着差异,我认为分布在统计上没有差异(2. 上面的点)。
另一个问题是这是循环问题,因为角度是从 0 到 360,所以我不确定这是否会改变方法(我已经预处理数据来处理这个问题)。
你能帮忙吗?
请注意,我的真实数据要大得多,我不能在这里复制,所以我在下面给出一个玩具示例(红色小提琴图来自真实数据):
structure(list(speed = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("04ms",
"1ms", "2ms"), class = "factor"), angle = structure(c(1L, 16L,
26L, 27L, 4L, 5L, 6L, 17L, 18L, 19L, 28L, 29L, 30L, 2L, 8L, 9L,
12L, 11L, 10L, 22L, 18L, 20L, 28L, 29L, 31L, 15L, 3L, 9L, 7L,
14L, 13L, 14L, 25L, 21L, 22L, 23L, 24L), .Label = c("1", "11",
"12", "120", "121", "123", "125", "13", "130", "132", "133",
"135", "142", "143", "18", "2", "250", "251", "252", "255", "256",
"260", "261", "262", "270", "3", "4", "5", "6", "7", "8"), class = "factor")), class = "data.frame", row.names = c(NA,
-37L))