Implementation of arrays with metadata.
MetadataArray
binds an array to named metadata.
julia> v = ["John", "John", "Jane", "Louise"];
julia> mdv = MetadataArray(v, groups = Dict("John" => "Treatment", "Louise" => "Placebo", "Jane" => "Placebo"))
4-element MetadataVector{String, Vector{String}, NamedTuple{(:groups,), Tuple{Dict{String, String}}}}:
"John"
"John"
"Jane"
"Louise"
julia> metadata(mdv, :groups)
Dict{String, String} with 3 entries:
"John" => "Treatment"
"Jane" => "Placebo"
"Louise" => "Placebo"