2014-11-01 86 views
0

我想在R中繪製Delta〜Project.Types我有10個項目類型。我知道如何做boxplot: boxplot(Delta〜Project.Types)。但是,我怎樣才能在每個boxplot上放置fivenum(min,max,1st,2nd和3rd分位數)?我該怎麼做才能讓圖像的每個盒狀圖都顯示其五位數字?當顯示數值時,這將比較容易地比較盒形圖如何將Boxplot的值放在R中的一個圖像中的幾個boxplot

謝謝!

回答

1

您可以添加一個「傳奇」的基礎R繪製包含你想要的是這樣的:

legend("topright", bty = "n", legend = summary(Delta)) 

我假設它的「三角洲」你正在運行摘要()上,所以根據需要改變。您可以修改的在用圖例貼中顯示的外觀(),即

legend("topright", bty = "n", legend = c(paste("min =", summary(Delta)[1]), 
            paste("max =", summary(Delta)[2]))) 

4

你想也可以用fivenum

five <- by(InsectSprays$count, InsectSprays$spray, fivenum) 
do.call(cbind, five) 
#   A B C D E F 
# [1,] 7.0 7.0 0.0 2.0 1.0 9 
# [2,] 11.0 12.0 1.0 3.5 2.5 12 
# [3,] 14.0 16.5 1.5 5.0 3.0 15 
# [4,] 18.5 18.0 3.0 5.0 5.0 23 
# [5,] 23.0 21.0 7.0 12.0 6.0 26 

或者獲得的統計數據,這些統計數據是boxplot的返回值之一(請注意,由於存在一些偏離的值,因此您需要使用range = 0來獲取最小值和最大值):

bp <- boxplot(count ~ spray, data = InsectSprays, col = "lightgray", range = 0) 
bp$stats 
#  [,1] [,2] [,3] [,4] [,5] [,6] 
# [1,] 7.0 7.0 0.0 2.0 1.0 9 
# [2,] 11.0 12.0 1.0 3.5 2.5 12 
# [3,] 14.0 16.5 1.5 5.0 3.0 15 
# [4,] 18.5 18.0 3.0 5.0 5.0 23 
# [5,] 23.0 21.0 7.0 12.0 6.0 26 

然後,只需添加到每個箱子:

text(x = col(bp$stats) - .5, y = bp$stats, labels = bp$stats) 

enter image description here

+0

太謝謝你了! – user3647044 2014-11-03 05:38:07