我有一系列的值,其中包括彼此接近的值的字符串,例如下面的序列。请注意,大致在我将V1中的值与V2中的不同值分类的位置周围,值的范围发生了变化。也就是说,V2中所有1的值彼此相差20点以内。V2中所有2的值彼此相差20点以内。所有标记为3的值都在20个点以内,等等。注意,这些值并不相同(它们都不同),而是聚集在一个公共值周围。
我是手动识别这些群集的。我如何自动化它呢?
V1 V2
1 399.710 1
2 403.075 1
3 405.766 1
4 407.112 1
5 408.458 1
6 409.131 1
7 410.477 1
8 411.150 1
9 412.495 1
10 332.419 2
11 330.400 2
12 329.054 2
13 327.708 2
14 326.363 2
15 325.017 2
16 322.998 2
17 319.633 2
18 314.923 2
19 288.680 3
20 285.315 3
21 283.969 3
22 281.950 3
23 279.932 3
24 276.567 3
25 273.875 3
26 272.530 3
27 271.857 3
28 272.530 3
29 273.875 3
30 274.548 3
31 275.894 3
32 275.894 3
33 276.567 3
34 277.240 3
35 278.586 3
36 279.932 3
37 281.950 3
38 284.642 3
39 288.007 3
40 291.371 3
41 294.063 4
42 295.409 4
43 296.754 4
44 297.427 4
45 298.100 4
46 299.446 4
47 300.792 4
48 303.484 4
49 306.848 4
50 327.708 5
51 309.540 6
52 310.213 6
53 309.540 6
54 306.848 6
55 304.156 6
56 302.811 6
57 302.811 6
58 304.156 6
59 305.502 6
60 306.175 6
61 306.175 6
62 304.829 6
我什么都没试过,我不知道该怎么做。
2条答案
按热度按时间h22fl7wq1#
将
dist
和hclust
与cutree
一起使用来检测聚类,但在断点处具有唯一级别。然而,系统树图建议
k=4
簇而不是6簇,但这是任意的。iyfjxgzm2#
此解决方案迭代每个值,检查组中所有值到该点的范围,如果范围大于阈值,则启动新组。
阈值18将重新生成组,但组4将提前一行开始。您可以使用更高的阈值,但组6将晚于您的阈值开始。