gpt4 book ai didi

r - 如何使用抖动的 geom_points 制作 geom_boxplot 异常值 "line up"?

转载 作者:行者123 更新时间:2023-12-04 17:36:55 25 4
gpt4 key购买 nike

如何使 geom_boxplot 异常值与抖动的 geom_points 完美叠加?

例如,我希望 geom_boxplot 的异常值在抖动后在 geom_point 的实际点上显示为“十字准线”?

library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot(outlier.shape=10, outlier.size=8) +
geom_point(aes(factor(cyl), mpg, color=mpg), position="jitter", size=4)
p

plot

任何帮助将不胜感激。

最佳答案

我同意 Didzis 的观点,即一个完全符合您的目标的解决方案将是相当参与的。从字面上做你的建议需要(我认为)你在 ggplot 之外进行抖动和异常值计算。如果您对如何突出异常值很灵活,那么这是一个可能更短的解决方案:

id_outliers <- function(x){
q <- quantile(x,c(0.25,0.75))
iqr <- abs(diff(q))
ifelse((x < q[1] - 1.5*iqr) | (x > q[2] + 1.5*iqr),'Outlier','NotOutlier')
}

mtcars <- ddply(mtcars,
.(cyl),
transform,
out = id_outliers(mpg))

p <- ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot(outlier.colour = NA) +
geom_point(aes(colour = mpg,shape = out),position = "jitter")

关于r - 如何使用抖动的 geom_points 制作 geom_boxplot 异常值 "line up"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15685706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com