如何提取箱线图中异常值的数量

using StatsPlots
PHs1=[1, 2, 3, 4, 99]
PHs2=[0.06, 75, 74, 78, 79]
p1=violin(["PHs1" "PHs2"],[PHs1 PHs2],leg=false)
boxplot!(["PHs1" "PHs2" ],[PHs1,PHs2],leg=false)

image
PHs1的异常值是1,但是异常值多的话,从图片看不出来,那如何提取箱线图中异常值的数量?
或者有函数能统计出异常值?

你可以过滤一下,比如根据箱线图的下四分位A,过滤出PHs1中小于等于A的值
写法 PHs1[PHs1 .>A],计数用length(PHs1[PHs1 .>A])就好

如何提取箱形图中下四分位的值?

你有点偷懒啊,这些都很简单的,直接查一下就好了
import numpy as np
ages=[3,3,6,7,7,10,10,10,11,13,30]
lower_q=np.quantile(ages,0.25,interpolation=‘lower’)#下四分位数
higher_q=np.quantile(ages,0.75,interpolation=‘higher’)#上四分位数
int_r=higher_q-lower_q#四分位距

谢谢,quantile这个函数是从哪个文档上找到的吗?我在《Julia语言程序设计》、《Julia数据科学应用》没找到。请问你是通过哪个地方搜到实现某些功能的包和函数呢?
再次感谢!

这个是python的,你可以在Julia里面调用Numpy库计算,julia里面的我也不太清楚,另外这个数可以完全自己去计算

好的,谢谢提醒!

Statistics 里面的函数 quantile

1 个赞

可以用DataFrames包里的describe,1st Quartile就是,另外可以用楼上所说的
julia> describe(df) #描述性统计
A
Summary Stats:
Mean: 4.500000
Minimum: 1.000000
1st Quartile: 2.750000
Median: 4.500000
3rd Quartile: 6.250000
Maximum: 8.000000
Length: 8
Type: Int64

B
Summary Stats:
Length: 8
Type: String
Number Unique: 2

1 个赞