簡體   English   中英

在“ geom_boxplot”中僅針對一個因子水平更改晶須定義

[英]Change whisker definition for only one level of a factor in `geom_boxplot`

我正在嘗試將晶須定義更改為最大和最小( ,不考慮任何異常值),如本問題所示 ,但僅針對映射到x軸的單個因子水平。 該答案中的代碼將更改整個圖的晶須定義。

解決這個問題的正確方法是什么?

擴展問題中鏈接的示例,您可以執行以下操作:

f <- function(x) {
  r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95))
  names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
  r
}

# sample data
d <- data.frame(x = gl(2,50), y = rnorm(100))

# do it
ggplot(d, aes(x, y)) + 
  stat_summary(data = subset(d, x == 1), fun.data = f, geom = "boxplot") +
  geom_boxplot(data = subset(d, x == 2))

在這種情況下,因子x == 2獲得“常規” geom_boxplot ,但是因子x == 1是“擴展”。


在您的情況下,更抽象一些,您可能想要執行以下操作:

ggplot(d, aes(x, y)) + 
  stat_summary(data = subset(d, x == "special_factor"), fun.data = f, geom = "boxplot") +
  geom_boxplot(data = subset(d, x != "special_factor"))

暫無
暫無

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

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