是否有簡單的方法來繪製兩個概率密度函數之間的差異?兩個密度圖之間的差異
我可以在同一個圖上繪製我的數據集(都是具有大約11000個值的一維向量)的pdf,以獲得重疊/差異的想法,但如果我可以對它更有用看到一個差異的陰謀。
沿東西線以下的(儘管這顯然是不工作):
> plot(density(data1)-density(data2))
我是比較新的R和一直無法找到我尋找任何的論壇。
在此先感謝
是否有簡單的方法來繪製兩個概率密度函數之間的差異?兩個密度圖之間的差異
我可以在同一個圖上繪製我的數據集(都是具有大約11000個值的一維向量)的pdf,以獲得重疊/差異的想法,但如果我可以對它更有用看到一個差異的陰謀。
沿東西線以下的(儘管這顯然是不工作):
> plot(density(data1)-density(data2))
我是比較新的R和一直無法找到我尋找任何的論壇。
在此先感謝
這應該工作:
plot(x =density(data1, from= range(c(data1, data2))[1],
to=range(c(data1, data2))[2])$x,
y= density(data1, from= range(c(data1, data2))[1],
to=range(c(data1, data2))[2])$y-
density(data2, from= range(c(data1, data2))[1],
to=range(c(data1, data2))[2])$y)
訣竅是確保密度具有相同的極限。然後你可以在相同的地點繪製他們的差異。我對理解相同限制的需求來自於在回答similar question on Rhelp several years ago時沒有采取這一步驟的錯誤。太糟糕了,我不記得正確的論點。
它看起來像你需要花一點時間來學習如何使用R(或任何其他語言,對於這個問題)。幫助文件是你的朋友。 從輸出?density
:
值[即由該函數返回的數據]
如果give.Rkern爲真,則數R(K),以其他方式與類 ,其基本結構是一個包含 以下組分的列表中的「密度」的對象。
x估計密度點的n個座標。
y估計的密度值。這些都將是不可否定的,但可以 爲零
所以[ 「價值」 爲簡潔起見刪除的剩餘部分],做:
foo<- density(data1)
bar<- density(data2)
plot(foo$y-bar$y)
@Joran - 感謝您的清理。而DWin提供了一個很好的觀點:默認情況下,'density'使用512點,但是如果你使用網格或者data1和data2的範圍不同,你需要確保foo $ x和bar $ x是「對齊「。 – 2012-01-10 19:18:49
我編輯你的答案(非常),以幫助你避免被標記。我也對初學者感到沮喪,但這個縮寫詞可能會以錯誤的方式揉搓人,並且通常在這裏受到折磨。 – joran 2012-01-10 19:19:02
感謝您的洞察力。我讀過密度,但我想我對R語法不夠熟悉,無法正確使用它告訴我的內容。學習過程的所有部分! – 2012-01-10 19:21:14
感謝您的幫助 – 2012-01-10 19:26:15