# Quantiles Dirichlet distribution

**URL:** <https://discourse.julialang.org/t/quantiles-dirichlet-distribution/60908>\
**Category:** General Usage\
**Tags:** statistics, distributions\
**Created:** [May 10, 2021, 6:05pm UTC](https://discourse.julialang.org/t/quantiles-dirichlet-distribution/60908 "2021-05-10T18:05:43Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dan.phi](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@Dan.phi](https://discourse.julialang.org/u/Dan.phi)\
**Post date:** [May 10, 2021, 6:05pm UTC](https://discourse.julialang.org/t/quantiles-dirichlet-distribution/60908/1 "2021-05-10T18:05:43Z")

</div>

I am trying to compute quantiles of the Dirichlet distribution using Distributions, but I am getting this error:

```julia
julia> quantile(Dirichlet([1,1,1]), 0.5)
ERROR: MethodError: no method matching iterate(::Dirichlet{Float64})
Closest candidates are:
  iterate(::Union{LinRange, StepRangeLen}) at range.jl:664
  iterate(::Union{LinRange, StepRangeLen}, ::Int64) at range.jl:664
  iterate(::T) where T<:Union{Base.KeySet{var"#s79", var"#s78"} where {var"#s79", var"#s78"<:Dict}, Base.ValueIterator{var"#s77"} where var"#s77"<:Dict} at dict.jl:693
  ...
Stacktrace:
 [1] copyto!(dest::Vector{Float64}, src::Dirichlet{Float64})
   @ Base .\abstractarray.jl:843
 [2] _collect(cont::UnitRange{Int64}, itr::Dirichlet{Float64}, #unused#::Base.HasEltype, isz::Base.HasLength)
   @ Base .\array.jl:608
 [3] collect(itr::Dirichlet{Float64})
   @ Base .\array.jl:602
 [4] quantile(itr::Dirichlet{Float64}, p::Float64; sorted::Bool, alpha::Float64, beta::Float64)
   @ Statistics C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Statistics\src\Statistics.jl:1049
 [5] quantile(itr::Dirichlet{Float64}, p::Float64)
   @ Statistics C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Statistics\src\Statistics.jl:1049
 [6] top-level scope
   @ REPL[39]:1

```

Maybe `quantile` cannot handle the Dirichlet distribution? Are there alternatives?

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [May 10, 2021, 6:50pm UTC](https://discourse.julialang.org/t/quantiles-dirichlet-distribution/60908/2 "2021-05-10T18:50:10Z")

</div>

Quantiles of multivariate distributions are not unique, so you’ll get the same error for other multivariate distributions:

```julia
julia> quantile(MvNormal(2, 1.0), 0.5)
ERROR: MethodError: no method matching iterate(::ZeroMeanIsoNormal{Tuple{Base.OneTo{Int64}}})

```

> **[Multivariate Statistics Package—Wolfram Language Documentation](https://reference.wolfram.com/language/MultivariateStatistics/tutorial/MultivariateStatistics.html)**
>
> This package contains descriptive statistics for multivariate data and distributions derived from the multivariate normal distribution. Distributions are represented in the symbolic form name\[param\_ 1,param\_ 2,\\\[Ellipsis\]\]. This loads the package....
