require 'daru' idx = Daru::CategoricalIndex.new [:a, 1, :a, 1, :c] dv = Daru::Vector.new 'a'..'e', index: idx dv[:a] dv[:a, 1] dv.at 1 dv.at 0, 1, 2 dv[3] dv[0, 3] dv[:a] = 20 dv dv.at_set [0, 1], 100 dv idx = Daru::Index.new [:a, :b, :c, :d] dv = Daru::Vector.new 1..4, index: idx dv[:a, :b] dv.at 0, 1 dv[:a, :b] = 'x' dv dv.at_set [0, 2], 'y' dv idx = Daru::MultiIndex.from_tuples [ [:a,:one,:bar], [:a,:one,:baz], [:a,:two,:bat], [:b,:one,:bar], [:b,:two,:baz], ] dv = Daru::Vector.new 1..5, index: idx dv[:a] dv[:a, :one, :bar] dv.at 0, 1, 2 dv[:a, :one] = 'x' dv dv.at_set [0, 1, 2], 'z' dv