2017-09-12 102 views
3

大家好。所以我知道這一定是非常基本的,但是什麼是適當的,準確的方式來繪製一些示例數據的pdf,你知道來自一些流行。分發,就像你使用rnorm()rexp()生成它一樣?繪製數據樣本PDF的正確方法?

我之所以這樣問是因爲我知道有很多人使用density(),然後輸入到這plot(),但density()功能似乎太武斷是準確的;例如,當它接近來自指數分佈(不具有負值)的數據的負值時,它是不準確的。值。

那麼有人可以推薦我一個更精細的方法來完成繪製示例pdf的?

+1

類似的問題(或者至少相關的),有人問[stats.se] - 我[answer](https://stats.stackexchange.com/a/71291/1390)涵蓋了關於變量的不合理負值的一點。 –

回答

1

函數density執行內核密度估計(KDE)。要爲您的數據集找到最好的KDE,您應該調整帶寬(參數bw)。下面是討論KDE和帶寬選擇紙:http://www.stat.washington.edu/courses/stat527/s13/readings/Sheather_StatSci_2004.pdf

或者一個簡單的方法,你可以嘗試不同帶寬的方法來傳遞給bwhttps://stat.ethz.ch/R-manual/R-devel/library/stats/html/bandwidth.html

當前默認的,「nrd0」,是有歷史原因。我發現「ucv」和「bcv」對我的數據集工作得更好。

+1

如果您的數據值接近於0,這些仍然會將密度泄漏到負值,除非您確實具有非常小的帶寬。 –

0

ggplot確實有助於在不合適的時候處理負值。它可以通過以下方式使用:

ggplot(df, 
     aes(x=contVar, fill = "green")) + 
    geom_density(alpha=.3) 

我還要看看這個帖子在cross validated

+0

雖然我認爲上述答案以更技術更全面的方式解決了我的問題,但您的鏈接是一個很好的資源,並且非常感謝您。 – Coolio2654