2
ggplot geom_histogram
和geom_density
都期望x審美,其中每個將審查其領域的變量的發生率。生成密度圖,其中域和給定的發生率
我有一個功能,輸出兩個某些分佈的域和發生率(即沒有以可數形式呈現事件,而是以已經計數的形式)。
實際值集來自外部庫,因此將在此處設置示例。我想繪製這樣的分佈:
data <- data.frame(depth=seq(0,20), incidence=seq(0,20)^1.5)
ggplot() + geom_density (aes(x=depth, y=incidence), data=data, fill='lightblue')
上述不起作用。當然,我可以自己使用x =深度或x =發生率並生成一個圖,但是,兩者都不會是正確的,因爲x變量被認爲是我們正在計數事件的變量。
它發生在我身上,可能需要數據幀併爲每個深度生成行,其中#行對應於發生率#。隨着分數發生率這變得更加複雜,但可以縮放。
問題:有沒有一種方法可以在ggplot中生成密度圖,而不是事件?如果不是,我猜可以使用類似的東西:
c (apply (data, 1, function(r) rep(r[1], r[2])), recursive=TRUE)
生成事件的離散近似值。 ggplot中的直接方式會更好。
我可能缺少一些東西,但爲什麼不能用'geom_line()'進行繪圖呢? – Andrie 2012-07-16 14:52:02
我想如果補充平滑(否則會非常鋸齒)並填充區域。我想可以爲區域填充構建矩形,但不知道如何直接在ggplot中進行平滑處理? – 2012-07-16 18:50:11
爲什麼不發佈類似於您的真實數據的數據。 ggplot可以順利地爲您解決問題。 – Andrie 2012-07-16 20:36:17