Class: Statsample::Test::T::TwoSamplesIndependent
- Inherits:
-
Object
- Object
- Statsample::Test::T::TwoSamplesIndependent
- Includes:
- DirtyMemoize, Math, Statsample::Test
- Defined in:
- lib/statsample/test/t.rb
Overview
Two Sample t-test.
Usage
a=1000.times.map {rand(100)}.to_scale
b=1000.times.map {rand(100)}.to_scale
t_2=Statsample::Test::T::OneSample.new(a,b)
t_2.summary
Instance Attribute Summary collapse
-
#df_equal_variance ⇒ Object
readonly
Degress of freedom (equal variance).
-
#df_not_equal_variance ⇒ Object
readonly
Degress of freedom (not equal variance).
-
#name ⇒ Object
Name of test.
-
#opts ⇒ Object
Options.
-
#probability_equal_variance ⇒ Object
readonly
Probability(equal variance).
-
#probability_not_equal_variance ⇒ Object
readonly
Probability(unequal variance).
-
#t_equal_variance ⇒ Object
readonly
Value of t for equal_variance.
-
#t_not_equal_variance ⇒ Object
readonly
Value of t for non-equal_variance.
-
#tails ⇒ Object
Tails for probability (:both, :left or :right).
Instance Method Summary collapse
-
#compute ⇒ Object
Set t and probability for given u.
-
#initialize(v1, v2, opts = Hash.new) ⇒ TwoSamplesIndependent
constructor
A new instance of TwoSamplesIndependent.
-
#report_building(b) ⇒ Object
:nodoc:.
-
#summary ⇒ Object
Presents summary of analysis.
Methods included from Statsample::Test
chi_square, levene, #p_using_cdf, t_one_sample, t_two_samples_independent, u_mannwhitney
Constructor Details
#initialize(v1, v2, opts = Hash.new) ⇒ TwoSamplesIndependent
146 147 148 149 150 151 152 153 |
# File 'lib/statsample/test/t.rb', line 146 def initialize(v1, v2, opts=Hash.new) @v1=v1 @v2=v2 default={:u=>0, :name=>"Two Sample T Test", :paired_samples=>false, :tails=>:both} @opts=default.merge(opts) @name=@opts[:name] @tails=@opts[:tails] end |
Instance Attribute Details
#df_equal_variance ⇒ Object (readonly)
Degress of freedom (equal variance)
128 129 130 |
# File 'lib/statsample/test/t.rb', line 128 def df_equal_variance @df_equal_variance end |
#df_not_equal_variance ⇒ Object (readonly)
Degress of freedom (not equal variance)
130 131 132 |
# File 'lib/statsample/test/t.rb', line 130 def df_not_equal_variance @df_not_equal_variance end |
#name ⇒ Object
Name of test
126 127 128 |
# File 'lib/statsample/test/t.rb', line 126 def name @name end |
#opts ⇒ Object
Options
124 125 126 |
# File 'lib/statsample/test/t.rb', line 124 def opts @opts end |
#probability_equal_variance ⇒ Object (readonly)
Probability(equal variance)
136 137 138 |
# File 'lib/statsample/test/t.rb', line 136 def probability_equal_variance @probability_equal_variance end |
#probability_not_equal_variance ⇒ Object (readonly)
Probability(unequal variance)
138 139 140 |
# File 'lib/statsample/test/t.rb', line 138 def probability_not_equal_variance @probability_not_equal_variance end |
#t_equal_variance ⇒ Object (readonly)
Value of t for equal_variance
132 133 134 |
# File 'lib/statsample/test/t.rb', line 132 def t_equal_variance @t_equal_variance end |
#t_not_equal_variance ⇒ Object (readonly)
Value of t for non-equal_variance
134 135 136 |
# File 'lib/statsample/test/t.rb', line 134 def t_not_equal_variance @t_not_equal_variance end |
#tails ⇒ Object
Tails for probability (:both, :left or :right)
140 141 142 |
# File 'lib/statsample/test/t.rb', line 140 def tails @tails end |
Instance Method Details
#compute ⇒ Object
Set t and probability for given u
158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/statsample/test/t.rb', line 158 def compute @t_equal_variance= T.two_sample_independent(@v1.mean, @v2.mean, @v1.sd, @v2.sd, @v1.n_valid, @v2.n_valid,true) @t_not_equal_variance= T.two_sample_independent(@v1.mean, @v2.mean, @v1.sd, @v2.sd, @v1.n_valid, @v2.n_valid, false) @df_equal_variance=T.df_equal_variance(@v1.n_valid, @v2.n_valid) @df_not_equal_variance=T.df_not_equal_variance(@v1.sd, @v2.sd, @v1.n_valid, @v2.n_valid) @probability_equal_variance = p_using_cdf(Distribution::T.cdf(@t_equal_variance, @df_equal_variance), tails) @probability_not_equal_variance = p_using_cdf(Distribution::T.cdf(@t_not_equal_variance, @df_not_equal_variance), tails) end |
#report_building(b) ⇒ Object
:nodoc:
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/statsample/test/t.rb', line 176 def report_building(b) # :nodoc: b.section(:name=>@name) {|g| g.table(:name=>"Mean and standard deviation", :header=>["Variable", "m", "sd","n"]) {|t| t.row([1,"%0.4f" % @v1.mean,"%0.4f" % @v1.sd,@v1.n_valid]) t.row([2,"%0.4f" % @v2.mean,"%0.4f" % @v2.sd, @v2.n_valid]) } g.section(:name=>"Levene Test") {|g1| g1.parse_element(Statsample::Test.levene([@v1,@v2])) } g.table(:name=>"T statistics",:header=>["Type","t","df", "p (#{tails} tails)"]) {|t| t.row(["Equal variance", "%0.4f" % t_equal_variance, df_equal_variance, "%0.4f" % probability_equal_variance]) t.row(["Non equal variance", "%0.4f" % t_not_equal_variance, "%0.4f" % df_not_equal_variance, "%0.4f" % probability_not_equal_variance]) } } end |
#summary ⇒ Object
Presents summary of analysis
173 174 175 |
# File 'lib/statsample/test/t.rb', line 173 def summary ReportBuilder.new(:no_title=>true).add(self).to_text end |