# class Statsample::Test::T::TwoSamplesIndependent

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::TwoSamplesIndependent.new(a,b)
t_2.summary```

### Output¶ ↑

```= Two Sample T Test
Mean and standard deviation
+----------+---------+---------+------+
| Variable |    m    |   sd    |  n   |
+----------+---------+---------+------+
| 1        | 49.3310 | 29.3042 | 1000 |
| 2        | 47.8180 | 28.8640 | 1000 |
+----------+---------+---------+------+

== Levene Test
Levene Test
F: 0.3596
p: 0.5488
T statistics
+--------------------+--------+-----------+----------------+
|        Type        |   t    |    df     | p (both tails) |
+--------------------+--------+-----------+----------------+
| Equal variance     | 1.1632 | 1998      | 0.2449         |
| Non equal variance | 1.1632 | 1997.5424 | 0.1362         |
+--------------------+--------+-----------+----------------+```

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::TwoSamplesIndependent.new(a,b)
t_2.summary```

### Output¶ ↑

```= Two Sample T Test
Mean and standard deviation
+----------+---------+---------+------+
| Variable |    m    |   sd    |  n   |
+----------+---------+---------+------+
| 1        | 49.3310 | 29.3042 | 1000 |
| 2        | 47.8180 | 28.8640 | 1000 |
+----------+---------+---------+------+

== Levene Test
Levene Test
F: 0.3596
p: 0.5488
T statistics
+--------------------+--------+-----------+----------------+
|        Type        |   t    |    df     | p (both tails) |
+--------------------+--------+-----------+----------------+
| Equal variance     | 1.1632 | 1998      | 0.2449         |
| Non equal variance | 1.1632 | 1997.5424 | 0.1362         |
+--------------------+--------+-----------+----------------+```

### Attributes

df_equal_variance[R]

Degress of freedom (equal variance)

df_not_equal_variance[R]

Degress of freedom (not equal variance)

name[RW]

Name of test

opts[RW]

Options

probability_equal_variance[R]

Probability(equal variance)

probability_not_equal_variance[R]

Probability(unequal variance)

t_equal_variance[R]

Value of t for equal_variance

t_not_equal_variance[R]

Value of t for non-equal_variance

tails[RW]

Tails for probability (:both, :left or :right)

### Public Class Methods

new(v1, v2, opts=Hash.new) click to toggle source

Create a Two Independent T Test Options:

• :name = Name of the analysis

• :tails = Tail for probability. Could be :both, :left, :right

```# File lib/statsample/test/t.rb, line 258
def initialize(v1, v2, opts=Hash.new)
@v1=v1
@v2=v2
default={:u=>0, :name=>"Two Sample T Test",  :tails=>:both}
@opts=default.merge(opts)
@name=@opts[:name]
@tails=@opts[:tails]
end```

### Public Instance Methods

compute() click to toggle source

Set t and probability for given u

```# File lib/statsample/test/t.rb, line 268
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```
d() click to toggle source

Cohen's d is a measure of effect size. Its defined as the difference between two means divided by a standard deviation for the data

```# File lib/statsample/test/t.rb, line 282
def d
n1=@v1.n_valid
n2=@v2.n_valid
num=@v1.mean-@v2.mean
den=Math::sqrt( ((n1-1)*@v1.sd+(n2-1)*@v2.sd).quo(n1+n2))
num.quo(den)
end```