2011-04-20 110 views
1

我想繪製loglog規模中存儲在兩個向量(x和y)中的一些數據。 此外,我想添加均值和標準派生(後者使用小節)。繪製平均值和標準偏差。 DERIV。 R中的對數數據

我的問題是,有在我的y數據矢量零,然後所述「是指」函數獲得日誌(0)(= -Inf)作爲參數,並也返回-Inf

qplot(x, y, log="xy") + stat_summary(fun.y=mean, geom="point")

我該如何讓「平均」函數適用於「正常」數據而不是日誌數據?

乾杯,

曼努埃爾

回答

2

計算轉換前的統計數據。

忽略對於現在的日誌秤,我想你想繪製的是這樣的

p <- ggplot(dfr) + 
    geom_point(aes(x, y)) +  
    geom_point(
    aes(
     x = mean(x), 
     y = mean(y) 
    ), 
    colour = "blue", 
    size = 5 
) + 
    geom_rect(
    aes(
     xmin = mean(x) - sd(x), 
     xmax = mean(x) + sd(x), 
     ymin = mean(y) - sd(y), 
     ymax = mean(y) + sd(y) 
    ), 
    alpha = 0.2 
) 
p 

現在在日誌規模將照常

p + 
    scale_x_log10() + 
    scale_y_log10() 

當然,你做零不會顯示在圖上,因爲它們不應該。要處理這些問題,您可以選擇從數據集中刪除它們還是用一個小的正數來代替它們。


編輯:如果您想通過x值分組y值統計,這聽起來像你的X變量是一個因素,在這種情況下,你可能想要一個條形圖。日誌y爲barcharts縮放比例是個不錯的主意,但您可以改爲使用平方根轉換。

+0

嗨Richie,謝謝你的回覆。對不起,我沒有完全記下我想要的東西:我不想要那種意思和標準。 DER。的所有數據,但平均數和標準差。 DER。對於每個x座標的所有y個數據點。 – manuels 2011-04-20 15:34:33

+0

好吧,我剛剛添加1e-5到我的價值;) – manuels 2011-04-20 15:43:38

+0

@manuels:這不會顯示在您的代碼中... – 2011-04-20 15:43:47

1

閱讀幫助頁面coord_trans。使用coord_trans(xtrans = 'log10', ytrans = 'log10')將幫助您創建對數 - 對數圖,因爲在計算完所有統計數據後發生座標轉換。

相關問題