密度图,键入=“ l”

问题描述

我有一个用于密度估计的输出

$x
 [1] 0.100001 0.600001 0.500001 0.800001 0.500001 0.100001 0.600001 0.300001
 [9] 0.100001 0.400001 0.700001 0.500001 0.000001 0.200001 0.700001 0.500001
[17] 0.000001 0.400001 0.500001 0.400001 0.200001 0.100001 0.600001 0.700001
[25] 0.700001 0.200001 0.800001 0.500001 0.200001 0.200001

$y
 [1] 1.2246774 1.1437131 1.3626914 0.6381394 1.3626914 1.2246774 1.1437131
 [8] 1.5893983 1.2246774 1.5158009 0.8852983 1.3626914 0.6912818 1.5227328
[15] 0.8852983 1.3626914 0.6912818 1.5158009 1.3626914 1.5158009 1.5227328
[22] 1.2246774 1.1437131 0.8852983 0.8852983 1.5227328 0.6381394 1.3626914
[29] 1.5227328 1.5227328

其中x是网格点,y是估计值。绘制这些图形时,其图形非常奇怪,类型为"l"

as given below:

。它的密度图应该只有一条线。请指导我如何咳嗽。

解决方法

您需要以正确的顺序绘制它们(根据x的值排序):

 plot(sort(x),y[order(x)],type = "l")

enter image description here


可复制的数据

x <- c(0.100001,0.600001,0.500001,0.800001,0.100001,0.300001,0.400001,0.700001,1e-06,0.200001,0.200001)

y <- c(1.2246774,1.1437131,1.3626914,0.6381394,1.2246774,1.5893983,1.5158009,0.8852983,0.6912818,1.5227328,1.5227328)

请注意,由于某些原因,在您的数据中有多个具有相同值的点。