R 包含100%和80%数据的散点图中的数据等高线

R 包含100%和80%数据的散点图中的数据等高线,r,ggplot2,scatter-plot,contour,R,Ggplot2,Scatter Plot,Contour,我试图包围散点图的数据点(使用ggplot2),以便(1)100%的数据点和(2)80%的数据点位于该圆圈内。(请参见-与此sctech类似(请原谅snippingtool的延迟执行)) 这是我的虚拟数据集: x y 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 4 1 4 2 4 3 5 1 5 2 5 3 5 4 5 9 5 10 6 1

我试图包围散点图的数据点(使用ggplot2),以便(1)100%的数据点和(2)80%的数据点位于该圆圈内。(请参见-与此sctech类似(请原谅snippingtool的延迟执行))

这是我的虚拟数据集:

 x  y
1   2
1   3
1   4
1   5
2   1
2   2
2   3
2   4
2   5
3   1
3   2
3   3
3   4
4   1
4   2
4   3
5   1
5   2
5   3
5   4
5   9
5   10
6   1
6   2
6   3
6   4
6   5
6   6
6   8
6   9
6   10
7   1
7   2
7   3
7   4
7   5
7   6
7   7
7   8
7   9
7   10
8   2
8   3
8   4
8   5
8   6
8   7
8   8
8   9
我尝试了多种方法来实现这一点,但没有任何方法真正满足我想要实现的目标

我的第一个方法是
geom\u density2d()
。然而,我在解释结果时遇到了困难,因为我真的不知道
级别
意味着什么

我尝试了以下方法:

ggplot(myData, aes(x,y)) + geom_point() + geom_density2d(bins=4, aes(colour=..level..))
这导致了这幅图:

这是好的,因为它完成了轮廓上的凹痕。然而,我不知道如何得到一个100%包围我的数据的外壳,以及一个80%包围我的数据的第二个外壳

我的第二种方法是使用
ggalt
包的
geom_encycle()
函数。这将导致下面的图

这一次,我的所有数据点都被包围了——到目前为止还不错。但是g
eom_contour()
图中的“凹痕”不存在,我不知道如何添加仅覆盖80%数据点的“镶嵌物”

我的第三种方法是使用
geom\u bagplot()
函数(已描述)

(对于geom_bag(),我无法使用prop=1.0覆盖所有数据点,但将其设置为0.9就足够了)

这将生成以下曲线图:

这一次,凹痕再次不存在。另一个问题是,设置
prop=0.7
prop=0.7
会产生完全相同的结果。另一个问题是,船体不像
geom_contour()
那样平滑

如何生成与中的草图相似的绘图(使用ggplot2)

提前谢谢

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

编辑:

显示我的数据点的真实分布的实际数据集:

    x   y
1   -19.397412  47.544324
2   -8.213419   69.892953
3   -29.926849  39.743923
4   -75.377447  79.817208
5   -9.215048   40.705533
6   -42.868995  45.721222
7   -85.590572  84.058463
8   -62.544121  69.371364
9   -60.209205  64.546267
10  3.598963    20.109707
11  -4.552074   61.3339
12  -197.619021 52.225312
13  -147.133639 56.96088
14  -59.402414  56.487012
15  -68.361091  46.811878
16  -105.556485 57.603839
17  -94.354948  32.706933
18  -107.26281  28.477637
19  -155.692967 35.106937
20  -80.819257  30.664812
21  -142.055086 33.728788
22  -118.353934 27.362929
23  -114.634413 31.501665
24  -113.470642 29.136781
25  -181.380891 41.046883
26  -171.106218 23.359443
27  -156.720415 35.450407
28  -165.042839 29.349575
29  -92.869955  25.478965
30  -114.78719  23.860353
31  -134.115204 25.491367
32  -109.430656 19.105614
33  -120.451655 25.97992
34  -87.570713  21.111895
35  -91.222139  22.484895
36  -208.979695 38.311266
37  -98.814223  16.121487
38  -201.812263 49.547512
39  -168.948464 39.583593
40  -112.44335  20.979357
41  -174.138029 28.470047
42  -220.936718 33.452972
43  -169.687859 33.173458
44  -157.119306 38.573987
45  -150.682075 41.66627
46  -77.397116  27.220171
47  -177.559527 53.278523
48  -61.212396  6.796908
49  -94.602774  24.669706
50  -204.333869 37.002679
51  -124.442364 31.519392
52  -165.722504 39.464188
53  -57.849212  23.973774
54  -106.643382 38.560785
55  -90.679094  29.863184
56  -132.476054 31.988021
57  -188.33621  29.658416
58  -136.247184 38.870171
59  -59.929772  20.626164
60  -121.020003 33.862312
61  -82.968422  33.033312
62  -79.130004  32.800121
63  -51.463395  23.452366
64  -63.819269  27.257994
65  -64.02259   27.711516
66  -66.876407  18.156063
67  -68.175454  22.996369
68  -108.640035 29.915306
69  -21.512647  16.930815
70  -66.902542  17.177093
71  -160.262625 33.061052
72  -41.672641  30.510433
73  -83.31784   28.965415
74  -132.410284 22.843924
75  -54.724716  10.642682
76  -69.688094  30.798878
77  -120.775133 24.597096
78  -78.655551  30.368373
79  -68.299767  35.937048
80  -45.037891  21.636422
81  -49.679704  19.508719
82  -62.018393  76.199247
83  -113.777141 27.730892
84  -74.630501  49.062317
85  -95.154793  37.279829
86  -65.229569  46.26744
87  -42.139223  16.38709
88  -94.186408  28.708069
89  -100.920471 27.533579
90  -66.332707  22.573064
91  -26.419725  13.948061
92  -152.704377 34.165409
93  -50.309209  22.032052
94  -125.896489 34.411915
95  -119.304969 28.786249
96  -41.689412  37.314049
97  -99.936438  31.363461
98  -74.807901  24.259652
这将生成以下曲线图:

我想说明的是,我的大部分数据点都在较低的部分,但仍然围绕着所有的数据,比如:

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

EDIT2:


“最终目标”是将没有相应数据点的两个等高线与另一个数据集进行比较,以查看是否存在重叠,但是,在不使结果图过于拥挤的情况下,数据点过多。

如何选择80%的点?可以随机采样80%的数据——没有代表80%数据的唯一点集。有无限多条曲线可以覆盖80%的数据。你到底想干什么?您希望满足哪些约束条件。你是在对这些点做某种分配假设吗?如果是的话,你应该说清楚。嘿!谢谢你的快速回答!我没有想到在展示我的虚拟数据时选择点的无限可能性,对不起!我将用实际数据集编辑我的原始帖子,以显示点的分布。我的目标是显示大多数数据点(例如80%)集中在较低的部分,同时仍然向整个数据集添加了一个环绕的外壳。将实际数据添加到原始帖子中,并添加了一个新的草图。
stat_density2d
中的
bins
参数的使用在之前和之后都进行了讨论。也许值得一看。这里推荐了一个答案
emdbook::HPDregionplot
,它允许您指定
prob=0.8
    x   y
1   -19.397412  47.544324
2   -8.213419   69.892953
3   -29.926849  39.743923
4   -75.377447  79.817208
5   -9.215048   40.705533
6   -42.868995  45.721222
7   -85.590572  84.058463
8   -62.544121  69.371364
9   -60.209205  64.546267
10  3.598963    20.109707
11  -4.552074   61.3339
12  -197.619021 52.225312
13  -147.133639 56.96088
14  -59.402414  56.487012
15  -68.361091  46.811878
16  -105.556485 57.603839
17  -94.354948  32.706933
18  -107.26281  28.477637
19  -155.692967 35.106937
20  -80.819257  30.664812
21  -142.055086 33.728788
22  -118.353934 27.362929
23  -114.634413 31.501665
24  -113.470642 29.136781
25  -181.380891 41.046883
26  -171.106218 23.359443
27  -156.720415 35.450407
28  -165.042839 29.349575
29  -92.869955  25.478965
30  -114.78719  23.860353
31  -134.115204 25.491367
32  -109.430656 19.105614
33  -120.451655 25.97992
34  -87.570713  21.111895
35  -91.222139  22.484895
36  -208.979695 38.311266
37  -98.814223  16.121487
38  -201.812263 49.547512
39  -168.948464 39.583593
40  -112.44335  20.979357
41  -174.138029 28.470047
42  -220.936718 33.452972
43  -169.687859 33.173458
44  -157.119306 38.573987
45  -150.682075 41.66627
46  -77.397116  27.220171
47  -177.559527 53.278523
48  -61.212396  6.796908
49  -94.602774  24.669706
50  -204.333869 37.002679
51  -124.442364 31.519392
52  -165.722504 39.464188
53  -57.849212  23.973774
54  -106.643382 38.560785
55  -90.679094  29.863184
56  -132.476054 31.988021
57  -188.33621  29.658416
58  -136.247184 38.870171
59  -59.929772  20.626164
60  -121.020003 33.862312
61  -82.968422  33.033312
62  -79.130004  32.800121
63  -51.463395  23.452366
64  -63.819269  27.257994
65  -64.02259   27.711516
66  -66.876407  18.156063
67  -68.175454  22.996369
68  -108.640035 29.915306
69  -21.512647  16.930815
70  -66.902542  17.177093
71  -160.262625 33.061052
72  -41.672641  30.510433
73  -83.31784   28.965415
74  -132.410284 22.843924
75  -54.724716  10.642682
76  -69.688094  30.798878
77  -120.775133 24.597096
78  -78.655551  30.368373
79  -68.299767  35.937048
80  -45.037891  21.636422
81  -49.679704  19.508719
82  -62.018393  76.199247
83  -113.777141 27.730892
84  -74.630501  49.062317
85  -95.154793  37.279829
86  -65.229569  46.26744
87  -42.139223  16.38709
88  -94.186408  28.708069
89  -100.920471 27.533579
90  -66.332707  22.573064
91  -26.419725  13.948061
92  -152.704377 34.165409
93  -50.309209  22.032052
94  -125.896489 34.411915
95  -119.304969 28.786249
96  -41.689412  37.314049
97  -99.936438  31.363461
98  -74.807901  24.259652