https://github.com/javierbarbero/DataEnvelopmentAnalysis.jl
Raw File
Tip revision: 4b355aa3596bd7c53d0423adc0fc25466fbda92b authored by Javier Barbero on 14 January 2022, 22:41:58 UTC
Update Project.toml
Tip revision: 4b355aa
productivity.jl
# This file contains types and structures for productivity DEA model
"""
    AbstractProductivityDEAlModel
An abstract type representing a productivity DEA model.
"""
abstract type AbstractProductivityDEAModel <: AbstractDEAModel end

"""
    nperiods(model::AbstractProductivityDEAModel)
Return number of time periods of a productivity DEA model.
"""
nperiods(model::AbstractProductivityDEAModel) = model.periods

"""
    prodchange(model::AbstractProductivityDEAModel)
Return productivity change of a productivity change DEA model.
"""
function prodchange(model::AbstractProductivityDEAModel, type::Symbol = :Prod)::Matrix

    if type == :Prod
        return model.Prod
    end

    if type == :EC
        if isdefined(model, :EC)
            return model.EC
        end
    end

    if type == :TC
        if isdefined(model, :TC)
            return model.TC
        end
    end

    throw(ArgumentError("$(typeof(model)) has no productivity change component $(type)"));

end
back to top