簡體   English   中英

boxplot ggplot 中位數,第一和第三百分位數 R

[英]boxplot ggplot with median, first and third percentile R

我想用兩個不同的組做一個boxplot ,只有三個不同的測量值(這甚至可能嗎?)。 這是我的數據:

data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
                    High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"))  

我想創建一個boxplot ,x 軸為縣,y 軸為中值、低和高,ID(真/假)作為填充。 結果,我想要六個不同的(在這種情況下)箱線圖(三個假和三個真)。 但我不確定如何處理我的數據,因為我沒有yminymax

我已經嘗試過了,但它沒有考慮上下限:

ggplot(dat, aes(x = County, y = Median, lower = Low, upper = High, fill = ID)) +
  geom_boxplot()

有沒有人遇到過同樣的問題?

箱線圖通過以下方式參數化:

  • ymin : 下須
  • lower :第 25 個百分位
  • middle :第 50 個百分位
  • upper :第 75 個百分位
  • ymax : 上胡須

正如您正確指出的那樣,我們似乎無法將這 5 個參數擬合為每組僅三個觀察值。 但是,您可能對geom_crossbar()層感興趣,它會為您提供沒有胡須的箱線圖外觀,並且只需要 3 個參數。 下面的例子:

library(ggplot2)

data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
                    High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE")) 

ggplot(data, aes(x = as.factor(County), 
                 y = Median, 
                 ymin = Low, 
                 ymax = High)) +
  geom_crossbar(aes(colour = ID))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM