def contrast_code opts={}
      if opts[:user_defined]
        user_defined_coding(opts[:user_defined])
      else
        # TODO: Make various coding schemes code DRY
        send("#{coding_scheme}_coding".to_sym, opts[:full] || false)
      end
    end
Contrast code the vector acording to the coding scheme set.
@note To set the coding scheme use #coding_scheme=
@param [Hash] opts The options to pass for coding.
@option opts [TrueClass, FalseClass] :full (false) True if you want k variables
for k categories, false if you want k-1 variables for k categories.
@return [Daru::DataFrame] dataframe containing all coded variables
@example
dv = Daru::Vector.new [:a, 1, :a, 1, :c], type: :category
dv.contrast_code full: false
# => #<Daru::DataFrame(5x2)>
#         daru_1 daru_c
#       0      0      0
#       1      1      0
#       2      0      0
#       3      1      0
#       4      0      1