2014-03-25 191 views
0

這應該是一個非常簡單的問題,但我無法在任何地方找到答案(部分原因是因爲我不確定要查詢什麼內容)。對於分組頻率數據R中的計算密度()R

在R,很容易計算的密度:

c(1, 2, 2, 2, 3, 5, 5, 7, 8, 10, 10, 10) 

你只是做:

density(c(1, 2, 2, 2, 3, 5, 5, 7, 8, 10, 10, 10)) 

的問題是,如果我有這樣一個「取消組合」矢量我的數據,對於R(或構建數據集的查詢引擎)來說,它將會太大。所以我需要在最初的查詢中使用GROUP BYCOUNT(*)來壓縮我的結果(因此,使用rep()來擴大計數並沒有幫助)。鑑於像一幀的「罪名」,我怎麼然後計算密度(對於KDE圖)這樣的數據幀:

Value Count 
1  1 
2  3 
3  1 
5  2 
7  1 
8  1 
10 3 

而僅僅是明確的,我真的需要一個密度圖,不是的直方圖。

回答

2

只需使用權的說法

density(d$Value, weights=d$Count/sum(d$Count)) 

(編輯佔第一評論)

+1

我可能會設置的權重爲'd $計數/總和(d $計數)',但這種作品很好。 –

+0

是的,沒有你會得到一個警告,說它不是真正的密度。我編輯了原始帖子以包含您的建議。 – pdb