mydata3<-data.frame(x=(c(1:10,20,100,120))) mydata3%>%ggplot(aes(x=x))+ geom_boxplot( )
ggplot?Quartile1- 1.5*IQR and Quartile3 +1.5*IQR中离群值的计算公式是什么?如果是,我可以手动更改此规则吗?
Quartile1- 1.5*IQR and Quartile3 +1.5*IQR
tcomlyy61#
这东西有用吗?
mydata3<-data.frame(x=(c(1:10,20,100,120))) mydata3%>%ggplot(aes(x=x))+ stat_boxplot(coef = 5) + geom_boxplot()
dffbzjpn2#
是的,您对离群值的计算是正确的。来自文档:下铰链和上铰链对应于第一四分位数和第三四分位数(第25和第75百分位数)。以及上须从铰链延伸到最大值,距离铰链不超过1.5 * IQR(其中IQR是四分位数间距,或第一四分位数和第三四分位数之间的距离)。下须从铰链延伸到最小值,最大为铰链的1.5 * IQR。要改变触须和铰链的位置,我们可以在geom_boxplot中使用stat = "summary",并传递我们自己的summary函数,这个函数需要接受传递的值,并返回一个包含ymin、lower、middle、upper和ymax列的 Dataframe 。在此示例中,我们将胡须尖端设置在第10和第90百分位数,将铰链设置在第40和第60百分位数,将中间线设置在第50百分位数:
geom_boxplot
stat = "summary"
ymin
lower
middle
upper
ymax
mydata3 <- data.frame(x=(c(1:10,20,100,120))) mydata3 %>% ggplot(aes(y = 0, x = x)) + geom_boxplot(stat = "summary", fun.data = ~ data.frame(ymin = quantile(.x, 0.1), lower = quantile(.x, 0.4), middle = quantile(.x, 0.5), upper = quantile(.x, 0.6), ymax = quantile(.x, 0.9)), orientation = "y")
请注意,如果我们改变上述函数中的分位数,我们会得到不同的箱线图:
mydata3 %>% ggplot(aes(y = 0, x = x)) + geom_boxplot(stat = "summary", fun.data = ~ data.frame(ymin = quantile(.x, 0.05), lower = quantile(.x, 0.1), middle = quantile(.x, 0.5), upper = quantile(.x, 0.9), ymax = quantile(.x, 0.95)), orientation = "y")
2条答案
按热度按时间tcomlyy61#
这东西有用吗?
dffbzjpn2#
是的,您对离群值的计算是正确的。来自文档:
下铰链和上铰链对应于第一四分位数和第三四分位数(第25和第75百分位数)。
以及
上须从铰链延伸到最大值,距离铰链不超过1.5 * IQR(其中IQR是四分位数间距,或第一四分位数和第三四分位数之间的距离)。下须从铰链延伸到最小值,最大为铰链的1.5 * IQR。
要改变触须和铰链的位置,我们可以在
geom_boxplot
中使用stat = "summary"
,并传递我们自己的summary函数,这个函数需要接受传递的值,并返回一个包含ymin
、lower
、middle
、upper
和ymax
列的 Dataframe 。在此示例中,我们将胡须尖端设置在第10和第90百分位数,将铰链设置在第40和第60百分位数,将中间线设置在第50百分位数:
请注意,如果我们改变上述函数中的分位数,我们会得到不同的箱线图: