# Class: Statsample::Bivariate::Pearson

Inherits:
Object
• Object
show all
Includes:
Summarizable, Test
Defined in:
lib/statsample/bivariate/pearson.rb

# Pearson correlation coefficient ®

The moment-product Pearson's correlation coefficient, known as 'r' is a measure of bivariate associate between two continous variables.

## Usage

``````a = Daru::Vector.new([1,2,3,4,5,6])
b = Daru::Vector.new([2,3,4,5,6,7])
pearson = Statsample::Bivariate::Pearson.new(a,b)
puts pearson.r
puts pearson.t
puts pearson.probability
puts pearson.summary
``````

## Instance Attribute Summary collapse

• Returns the value of attribute n.

• Name of correlation.

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

## Instance Method Summary collapse

• constructor

A new instance of Pearson.

#summary

## Constructor Details

### #initialize(v1, v2, opts = Hash.new) ⇒ Pearson

Returns a new instance of Pearson.

 ``` 27 28 29 30 31 32 33 34 35 36 37 38 39``` ```# File 'lib/statsample/bivariate/pearson.rb', line 27 def initialize(v1,v2,opts=Hash.new) @v1_name,@v2_name = v1.name,v2.name @v1,@v2 = Statsample.only_valid_clone(v1,v2) @n=@v1.size opts_default={ :name=>_("Correlation (%s - %s)") % [@v1_name, @v2_name], :tails=>:both } @opts=opts.merge(opts_default) @opts.each{|k,v| self.send("#{k}=",v) if self.respond_to? k } end```

## Instance Attribute Details

### #n ⇒ Object

Returns the value of attribute n

 ``` 26 27 28``` ```# File 'lib/statsample/bivariate/pearson.rb', line 26 def n @n end```

### #name ⇒ Object

Name of correlation

 ``` 23 24 25``` ```# File 'lib/statsample/bivariate/pearson.rb', line 23 def name @name end```

### #tails ⇒ Object

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

 ``` 25 26 27``` ```# File 'lib/statsample/bivariate/pearson.rb', line 25 def tails @tails end```

## Instance Method Details

### #probability ⇒ Object

 ``` 46 47 48``` ```# File 'lib/statsample/bivariate/pearson.rb', line 46 def probability p_using_cdf(Distribution::T.cdf(t, @v1.size-2), tails) end```

### #r ⇒ Object

 ``` 40 41 42``` ```# File 'lib/statsample/bivariate/pearson.rb', line 40 def r Statsample::Bivariate.pearson(@v1,@v2) end```

### #report_building(builder) ⇒ Object

 ``` 49 50 51``` ```# File 'lib/statsample/bivariate/pearson.rb', line 49 def report_building(builder) builder.text(_("%s : r=%0.3f (t:%0.3f, g.l.=%d, p:%0.3f / %s tails)") % [@name, r,t, (n-2), probability, tails]) end```

### #t ⇒ Object

 ``` 43 44 45``` ```# File 'lib/statsample/bivariate/pearson.rb', line 43 def t Statsample::Bivariate.t_pearson(@v1,@v2) end```