JuliaAI/ScientificTypes.jl

scitype([missing, missing]) errors

Closed this issue · 3 comments

julia> scitype([missing, missing])
ERROR: UndefVarError: T not defined
Stacktrace:
 [1] Scitype(::Type{Missing}, ::MLJScientificTypes.MLJ) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:72
 [2] scitype(::Array{Missing,1}, ::MLJScientificTypes.MLJ, ::Val{:other}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77
 [3] scitype at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77 [inlined]
 [4] scitype(::Array{Missing,1}, ::MLJScientificTypes.MLJ; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [5] scitype(::Array{Missing,1}, ::MLJScientificTypes.MLJ) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [6] scitype(::Array{Missing,1}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [7] scitype(::Array{Missing,1}) at /Users/anthony/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [8] top-level scope at REPL[13]:1
julia> scitype(Union{Int, Missing}[missing, missing])
AbstractVector{Union{Missing, Count}} = AbstractArray{Union{Missing, Count},1}

julia> scitype(Union{Float64, Missing}[missing, missing])
AbstractVector{Union{Missing, Continuous}} = AbstractArray{Union{Missing, Continuous},1}

julia> scitype(Union{String, Missing}[missing, missing])
AbstractVector{Union{Missing, Textual}} = AbstractArray{Union{Missing, Textual},1}

In contrast with:

julia> scitype([missing, missing])
ERROR: UndefVarError: T not defined
Stacktrace:
 [1] Scitype(#unused#::Type{Missing}, C::MLJScientificTypes.MLJ)
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:72
 [2] scitype(A::Vector{Missing}, C::MLJScientificTypes.MLJ, ::Val{:other}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77
 [3] scitype(A::Vector{Missing}, C::MLJScientificTypes.MLJ, ::Val{:other})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77
 [4] scitype(X::Vector{Missing}, C::MLJScientificTypes.MLJ; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [5] scitype(X::Vector{Missing}, C::MLJScientificTypes.MLJ)
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [6] scitype(X::Vector{Missing}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [7] scitype(X::Vector{Missing})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [8] top-level scope
   @ REPL[11]:1

julia> scitype(Missing[missing, missing])
ERROR: UndefVarError: T not defined
Stacktrace:
 [1] Scitype(#unused#::Type{Missing}, C::MLJScientificTypes.MLJ)
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:72
 [2] scitype(A::Vector{Missing}, C::MLJScientificTypes.MLJ, ::Val{:other}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77
 [3] scitype(A::Vector{Missing}, C::MLJScientificTypes.MLJ, ::Val{:other})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:77
 [4] scitype(X::Vector{Missing}, C::MLJScientificTypes.MLJ; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [5] scitype(X::Vector{Missing}, C::MLJScientificTypes.MLJ)
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:10
 [6] scitype(X::Vector{Missing}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [7] scitype(X::Vector{Missing})
   @ ScientificTypes ~/.julia/packages/ScientificTypes/b8I2Y/src/scitype.jl:9
 [8] top-level scope
   @ REPL[12]:1

In the case of scitype([missing, missing]) (which is equivalent to scitype(Missing[missing, missing])), what do you think we should return?

Should we just return Missing as the scientific type in this case?

Or should we return Unknown?