2012-09-27 57 views
6

我想生成一個觀察溫度的密度圖,該密度圖根據每個溫度數據點觀察到的事件數量來縮放。我的數據包含兩列:[觀測值]的溫度和數量。R中的縮放/加權密度圖

現在,我有一個密度圖只包含根據溫度頻率:

plot(density(Temperature, na.rm=T), type="l", bty="n") 

如何調整這個密度要佔觀測在每個溫度多少?例如,我希望能夠查看溫度密度圖,以顯示更高/更低溫度下每個溫度的觀測值是否更大/更小。

我想我正在尋找可以降低溫度的東西?

回答

6

而做到這一點的基礎的例子:

plot(density(dat$Temperature,weights=dat$Number/sum(dat$Number),na.rm=T),type='l',bty='n') 
5

我想你可以通過傳遞一個weights參數來得到你想要的。這裏是(使用DanM的數據)使用ggplot

dat <- data.frame(Temperature = sort(runif(10)), Number = 1:10) 
ggplot(dat, aes(Temperature)) + geom_density(aes(weights=Number/sum(Number))) 
+1

__2017更新:__審美已更名爲'weight'沒有's',使繪圖指令變爲:'ggplot(dat,aes(x = Temperature,weight = Number/sum(Number)))+ geom_density()'。 –