def dup vectors_to_dup=nil
      vectors_to_dup = @vectors.to_a unless vectors_to_dup

      src = vectors_to_dup.map { |vec| @data[@vectors.pos(vec)].dup }
      new_order = Daru::Index.new(vectors_to_dup)

      Daru::DataFrame.new src, order: new_order, index: @index.dup, name: @name, clone: true
    end
Duplicate the DataFrame entirely.

== Arguments

* +vectors_to_dup+ - An Array specifying the names of Vectors to
be duplicated. Will duplicate the entire DataFrame if not specified.