簡體   English   中英

R density()函數

[英]R density() function

抱歉,如果這個問題無關緊要,但我看不到任何解決方案:我一直在頻繁地使用density()函數,總是沒有麻煩,但是現在我使用了一些數據集-稱其為tab-具有(許多)相對較小的值,並且突然density(tab)給出了絕對頻率之類的東西-任何想法我做錯了嗎?

(注意: hist(tab, freq = FALSE)也會給tab帶來一些怪異的東西。)

備注: summary(tab)給出:

  Min. /   1st Qu.  /   Median   /    Mean  /   3rd Qu.  /     Max. 

-0.0042810  /0.0002679 / 0.0011750 / 0.0071690 / 0.0049510  /0.5839000 

對於任何一般性提示,我也將不勝感激,在這種情況下, density()不會給出相對頻率作為y值。

盡管我無法完全重現您的示例,但在我看來,您的數據集中有一個異常值。 即,您的第三個四分位數為0.005,但最大值為0.584。 在實軸上,從第三個四分位數到最小值的距離為0.01。 從第三個四分位數到最大值的距離超過0.583。 更遠58倍! 根據我的理解, density試圖選擇一種在所有值上均能正常工作的帶寬。 在這種情況下,帶寬可能很小,因為大多數值聚集在一起接近於0。在這種情況下,您可能會得到非常退化的密度圖,其中有兩條垂直線,一條在左邊,一條在上面。對。 我能夠使用以下方法生成一個這樣的圖:

plot(density(c(rnorm(100, 0, 0.001), 100)))

我要做的只是從正態分布中抽樣,SD為0.001,然后向該分布中添加一個離群值100。 密度看起來像這樣: 退化密度圖[1] 密度值肯定看起來像它們可能會混淆頻率,但事實並非如此。 當然,如果我刪除異常值,則估計的密度函數將呈鍾形:

規則密度圖

因此,似乎您需要從數據中刪除異常值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM