Method: Statsample::Anova::OneWay#initialize
- Defined in:
- lib/statsample/anova/oneway.rb
#initialize(opts = Hash.new) ⇒ OneWay
Returns a new instance of OneWay.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/statsample/anova/oneway.rb', line 15 def initialize(opts=Hash.new) @name=@name_numerator=@name_denominator=nil # First see if sum of squares or mean squares are entered raise ArgumentError, "You should set d.f." unless (opts.has_key? :df_num and opts.has_key? :df_den) @df_num=opts.delete :df_num @df_den=opts.delete :df_den @df_total=@df_num+@df_den if(opts.has_key? :ss_num and opts.has_key? :ss_den) @ss_num = opts.delete :ss_num @ss_den =opts.delete :ss_den @ms_num =@ss_num.quo(@df_num) @ms_den =@ss_den.quo(@df_den) elsif (opts.has_key? :ms_num and opts.has_key? :ms_den) @ms_num =opts.delete :ms_num @ms_den =opts.delete :ms_den @ss_num =@ms_num * @df_num @ss_den =@ss_den * @df_den end @ss_total=@ss_num+@ss_den @ms_total=@ms_num+@ms_den opts_default={:name=>"ANOVA", :name_denominator=>_("Explained variance"), :name_numerator=>_("Unexplained variance")} @opts=opts_default.merge(opts) opts.keys.each {|k| send("#{k}=", @opts[k]) if self.respond_to? "#{k}=" } @f_object=Statsample::Test::F.new(@ms_num, @ms_den, @df_num,@df_den) end |