Self-Study

在直方圖中繪製平均值是否合適?

  • March 19, 2013

在直方圖中添加一條垂直線以可視化平均值是否“可以”?

對我來說似乎沒問題,但我從未在教科書之類的書中看到過這一點,所以我想知道是否有某種約定不這樣做?

該圖表用於學期論文,我只是想確保我不會意外打破一些非常重要的潛規則。:)

當然,為什麼不?

均值直方圖

這是一個示例(我通過簡單的谷歌搜索找到的幾十個示例之一):

具有平均值和中位數的 hist

(圖片來源是測量可用性博客,在這裡。)

我見過均值、均值加或減標準差、各種分位數(如中位數、四分位數、第 10 和第 90 百分位數)都以各種方式顯示。

您可以在圖的底部標記信息,而不是在圖上畫一條線 - 如下所示:

帶邊際箱線圖的直方圖

有一個示例(可以找到的眾多示例之一),箱線圖位於頂部而不是底部,這裡

有時人們會在數據中標記:

帶抖動的直方圖地毯圖

(我稍微抖動了數據位置,因為這些值被四捨五入為整數,你看不到相對密度。)

有一個這樣的例子,在Stata中完成,在這個頁面上(見第三個here

帶有一些額外信息的直方圖會更好 -它們本身可能會產生誤導

你只需要注意解釋你的情節是由什麼組成的!(對於初學者,你會想要一個比我在這裡使用的更好的標題和 x 軸標籤。再加上一個圖形標題中的解釋,解釋你在上面標記的內容。)

最後一個情節:

帶條形圖的直方圖

我的地塊是在 R 中生成的。

編輯:

正如@gung 推測的那樣,abline(v=mean...用於繪製整個繪圖的平均線並rug用於繪製數據值(儘管我實際使用rug(jitter(...了因為數據被四捨五入為整數)。

這是一種在直方圖和軸之間繪製箱線圖的方法:

hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
 add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)

我不會列出所有內容的用途,但您可以檢查幫助 ( ?boxplot) 中的參數以找出它們的用途,並自己玩弄它們。

但是,這不是一個通用的解決方案——我不保證它會一直像這裡一樣正常工作(注意我已經更改了atandboxwex選項*)。如果你不編寫一個智能函數來處理所有事情,那麼有必要注意所有事情的作用,以確保它在做你想做的事情。

下面是如何創建我使用的數據(我試圖展示 Theil 回歸如何真正能夠處理幾個有影響的異常值)。當我第一次回答這個問題時,它恰好是我正在玩的數據。

library("car")
add <- data.frame(sex=c("F","F"),
      weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)

    • 的適當值at約為boxwex;的值的 -0.5 倍。如果您編寫一個函數來執行此操作,那將是一個很好的默認值;boxwex需要以與箱線圖的 y 比例(高度)相關的方式進行縮放;我建議 0.04 到 0.05 倍 y 上限通常可能沒問題。

邊緣條形圖的代碼:

hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
      method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')

引用自:https://stats.stackexchange.com/questions/52754

comments powered by Disqus