[英]Layering density plots in R without using density()
我已经使用KernSmooth软件包计算并绘制了高斯核密度估计值,如下所示:
x <- MyData$MyNumericVector
h <- dpik(x)
est <- bkde(x, bandwidth=h)
plot(est, type='l')
这是KernSmooth文档中描述的方法。 请注意, dpik()
找到最佳带宽,而bkde()
使用该带宽来拟合内核密度估计。 重要的是,我使用此方法代替基本的density()
函数。
如何将这些地块彼此叠加?
我无法使用geom_density()
ggplot2
依赖的基本density()
函数,因为带宽和内核密度估计值是使用KernSmooth软件包进行最佳优化的(请参见Deng&Wickham,2011,这里: http ://vita.had.co 。 nz / papers / density-estimation.pdf )。 由于Wickham编写了ggplot2
以及上面对内核密度估计软件包的回顾,因此,有一种方法可以使用ggplot2
来分层不依赖于基本density()
函数的density()
,但是我不确定。
即使我不想使用基本的density()
函数,我也可以使用ggplot2
吗? 那lattice
?
您可以使用geom_line
来做到这geom_line
:
m <- ggplot(NULL, aes(x=bkde(movies$votes)$x,y=bkde(movies$votes)$y)) + geom_line()
print(m)
如果您正在使用grid :: densityplot做t,则可能会将一些值添加到drags-list中:
DARG
传递给密度函数的参数列表。 通常,这应该是一个包含零个或多个以下成分的列表:bw,adjust,kernel,window,width,give.Rkern,n,从,至,cut,na.rm(有关详细信息,请参见密度)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.