[英]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.