statsample 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +2 -1
- data/History.txt +3 -0
- data/Rakefile +1 -1
- data/lib/statsample.rb +1 -1
- data/lib/statsample/bivariate/polychoric.rb +1 -2
- data/lib/statsample/matrix.rb +2 -73
- data/test/test_bivariate_polychoric.rb +9 -4
- data/test/test_matrix.rb +0 -30
- metadata +34 -7
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
�YH��P���&�D�ֆ=T����z���p��?^u)�~�)�
|
data/History.txt
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
=== 0.11.1 / 2010-05-04
|
2
|
+
* Removed Matrix almost all Matrix extensions and replaced by dependency on 'extendmatrix' gem
|
3
|
+
* Added dependency to gsl >=1.12.109. Polychoric with joint method fails without this explicit dependency
|
1
4
|
=== 0.11.0 / 2010-04-16
|
2
5
|
<b>New features:</b>
|
3
6
|
* Added Statsample::Anova::TwoWay and Statsample::Anova::TwoWayWithVectors
|
data/Rakefile
CHANGED
@@ -37,7 +37,7 @@ h=Hoe.spec('statsample') do
|
|
37
37
|
#self.testlib=:minitest
|
38
38
|
self.rubyforge_name = "ruby-statsample"
|
39
39
|
self.developer('Claudio Bustos', 'clbustos@gmail.com')
|
40
|
-
self.extra_deps << ["spreadsheet","~>0.6.0"] << ["svg-graph", "~>1.0"] << ["reportbuilder", "~>1.0"] << ["minimization", "~>0.2.0"] << ["fastercsv"] << ["dirty-memoize", "~>0.0"] << ["statistics2", "~>0.54"]
|
40
|
+
self.extra_deps << ["spreadsheet","~>0.6.0"] << ["svg-graph", "~>1.0"] << ["reportbuilder", "~>1.0"] << ["minimization", "~>0.2.0"] << ["fastercsv"] << ["dirty-memoize", "~>0.0"] << ["statistics2", "~>0.54"] << ["extendmatrix","~>0.1"] << ["gsl", "~>1.12.109"]
|
41
41
|
self.clean_globs << "test/images/*" << "demo/item_analysis/*" << "demo/Regression"
|
42
42
|
self.need_rdoc=false
|
43
43
|
end
|
data/lib/statsample.rb
CHANGED
@@ -438,8 +438,7 @@ module Statsample
|
|
438
438
|
message+=sprintf("f() = %7.3f size = %.3f\n", minimizer.fval, minimizer.size)+"\n";
|
439
439
|
end while status == GSL::CONTINUE and iter < @max_iterations
|
440
440
|
@iteration=iter
|
441
|
-
@log+=message
|
442
|
-
puts message if @debug
|
441
|
+
@log+=message
|
443
442
|
@r=minimizer.x[0]
|
444
443
|
@alpha=minimizer.x[1,@nr-1].to_a
|
445
444
|
@beta=minimizer.x[@nr,@nc-1].to_a
|
data/lib/statsample/matrix.rb
CHANGED
@@ -1,19 +1,4 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
class ::Vector
|
4
|
-
if RUBY_VERSION<="1.9.0"
|
5
|
-
alias_method :old_coerce, :coerce
|
6
|
-
def coerce(other)
|
7
|
-
case other
|
8
|
-
when Numeric
|
9
|
-
return Matrix::Scalar.new(other), self
|
10
|
-
else
|
11
|
-
raise TypeError, "#{self.class} can't be coerced into #{other.class}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
1
|
+
require 'extendmatrix'
|
17
2
|
|
18
3
|
|
19
4
|
class ::Matrix
|
@@ -24,63 +9,6 @@ class ::Matrix
|
|
24
9
|
}
|
25
10
|
GSL::Matrix[*out]
|
26
11
|
end
|
27
|
-
# Calculate marginal of rows
|
28
|
-
def row_sum
|
29
|
-
(0...row_size).collect {|i|
|
30
|
-
row(i).to_a.inject(0) {|a,v| a+v}
|
31
|
-
}
|
32
|
-
end
|
33
|
-
# Calculate marginal of columns
|
34
|
-
def column_sum
|
35
|
-
(0...column_size).collect {|i|
|
36
|
-
column(i).to_a.inject(0) {|a,v| a+v}
|
37
|
-
}
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
alias :old_par :[]
|
42
|
-
|
43
|
-
# Select elements and submatrixes
|
44
|
-
# Implement row, column and minor in one method
|
45
|
-
#
|
46
|
-
# * [i,j]:: Element i,j
|
47
|
-
# * [i,:*]:: Row i
|
48
|
-
# * [:*,j]:: Column j
|
49
|
-
# * [i1..i2,j]:: Row i1 to i2, column j
|
50
|
-
|
51
|
-
def [](*args)
|
52
|
-
raise ArgumentError if args.size!=2
|
53
|
-
x=args[0]
|
54
|
-
y=args[1]
|
55
|
-
if x.is_a? Integer and y.is_a? Integer
|
56
|
-
@rows[args[0]][args[1]]
|
57
|
-
else
|
58
|
-
# set ranges according to arguments
|
59
|
-
|
60
|
-
rx=case x
|
61
|
-
when Numeric
|
62
|
-
x..x
|
63
|
-
when :*
|
64
|
-
0..(row_size-1)
|
65
|
-
when Range
|
66
|
-
x
|
67
|
-
end
|
68
|
-
ry=case y
|
69
|
-
when Numeric
|
70
|
-
y..y
|
71
|
-
when :*
|
72
|
-
0..(column_size-1)
|
73
|
-
when Range
|
74
|
-
y
|
75
|
-
end
|
76
|
-
Matrix.rows(rx.collect {|i| ry.collect {|j| @rows[i][j]}})
|
77
|
-
end
|
78
|
-
end
|
79
|
-
# Calculate sum of cells
|
80
|
-
def total_sum
|
81
|
-
row_sum.inject(0){|a,v| a+v}
|
82
|
-
end
|
83
|
-
|
84
12
|
end
|
85
13
|
|
86
14
|
module GSL
|
@@ -101,6 +29,7 @@ module Statsample
|
|
101
29
|
# matrix.extend CovariateMatrix
|
102
30
|
#
|
103
31
|
module CovariateMatrix
|
32
|
+
include Summarizable
|
104
33
|
# Gives a nice summary
|
105
34
|
def summary
|
106
35
|
rp=ReportBuilder.new()
|
@@ -49,17 +49,22 @@ class StatsampleBivariatePolychoricTestCase < MiniTest::Unit::TestCase
|
|
49
49
|
assert_in_delta(1.137, @poly.threshold_x[1],0.001)
|
50
50
|
end
|
51
51
|
end
|
52
|
-
should "compute joint" do
|
53
52
|
if Statsample.has_gsl?
|
54
|
-
|
55
|
-
|
53
|
+
context "compute joint" do
|
54
|
+
setup do
|
55
|
+
@poly.method=:joint
|
56
|
+
@poly.compute
|
57
|
+
end
|
58
|
+
should "have correct values" do
|
59
|
+
assert_equal(:joint, @poly.method)
|
56
60
|
assert_in_delta(0.4192, @poly.r, 0.0001)
|
57
61
|
assert_in_delta(-0.2421, @poly.threshold_y[0],0.0001)
|
58
62
|
assert_in_delta(-0.0297, @poly.threshold_x[0],0.0001)
|
59
63
|
assert_in_delta(1.5938, @poly.threshold_y[1],0.0001)
|
60
64
|
assert_in_delta(1.1331, @poly.threshold_x[1],0.0001)
|
61
65
|
end
|
62
|
-
|
66
|
+
end
|
67
|
+
end
|
63
68
|
end
|
64
69
|
|
65
70
|
end
|
data/test/test_matrix.rb
CHANGED
@@ -2,36 +2,6 @@ require(File.dirname(__FILE__)+'/helpers_tests.rb')
|
|
2
2
|
|
3
3
|
|
4
4
|
class StatsampleMatrixTestCase < MiniTest::Unit::TestCase
|
5
|
-
context(Matrix) do
|
6
|
-
setup do
|
7
|
-
@matrix=Matrix[[1,2,3],[4,5,6],[7,8,9]]
|
8
|
-
end
|
9
|
-
should "return correct value for [i,j]" do
|
10
|
-
assert_equal(5, @matrix[1,1])
|
11
|
-
end
|
12
|
-
should "return correct value for [i,:*]" do
|
13
|
-
assert_equal(Matrix[[1,2,3]], @matrix[0,:*])
|
14
|
-
end
|
15
|
-
should "return correct value for [:*,j]" do
|
16
|
-
assert_equal(Matrix[[1],[4],[7]], @matrix[:*,0])
|
17
|
-
end
|
18
|
-
should "return correct value for [:*,j1..j2]" do
|
19
|
-
assert_equal(Matrix[[1,2],[4,5],[7,8]], @matrix[:*,0..1])
|
20
|
-
end
|
21
|
-
should "return correct value for [i1..i2,j1..j2]" do
|
22
|
-
assert_equal(Matrix[[1,2],[4,5]], @matrix[0..1,0..1])
|
23
|
-
end
|
24
|
-
should "return correct value for row_sum" do
|
25
|
-
assert_equal(6,@matrix.row_sum[0])
|
26
|
-
end
|
27
|
-
should "return correct value for column_sum" do
|
28
|
-
assert_equal(12,@matrix.column_sum[0])
|
29
|
-
end
|
30
|
-
should "return correct value for total_sum" do
|
31
|
-
assert_equal(45,@matrix.total_sum)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
5
|
def test_covariate
|
36
6
|
a=Matrix[[1.0, 0.3, 0.2], [0.3, 1.0, 0.5], [0.2, 0.5, 1.0]]
|
37
7
|
a.extend Statsample::CovariateMatrix
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 11
|
8
|
-
-
|
9
|
-
version: 0.11.
|
8
|
+
- 1
|
9
|
+
version: 0.11.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Claudio Bustos
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
rpP0jjs0
|
36
36
|
-----END CERTIFICATE-----
|
37
37
|
|
38
|
-
date: 2010-05-
|
38
|
+
date: 2010-05-04 00:00:00 -04:00
|
39
39
|
default_executable:
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -131,9 +131,36 @@ dependencies:
|
|
131
131
|
type: :runtime
|
132
132
|
version_requirements: *id007
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
|
-
name:
|
134
|
+
name: extendmatrix
|
135
135
|
prerelease: false
|
136
136
|
requirement: &id008 !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ~>
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
segments:
|
141
|
+
- 0
|
142
|
+
- 1
|
143
|
+
version: "0.1"
|
144
|
+
type: :runtime
|
145
|
+
version_requirements: *id008
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: gsl
|
148
|
+
prerelease: false
|
149
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ~>
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
segments:
|
154
|
+
- 1
|
155
|
+
- 12
|
156
|
+
- 109
|
157
|
+
version: 1.12.109
|
158
|
+
type: :runtime
|
159
|
+
version_requirements: *id009
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: rubyforge
|
162
|
+
prerelease: false
|
163
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
137
164
|
requirements:
|
138
165
|
- - ">="
|
139
166
|
- !ruby/object:Gem::Version
|
@@ -143,11 +170,11 @@ dependencies:
|
|
143
170
|
- 4
|
144
171
|
version: 2.0.4
|
145
172
|
type: :development
|
146
|
-
version_requirements: *
|
173
|
+
version_requirements: *id010
|
147
174
|
- !ruby/object:Gem::Dependency
|
148
175
|
name: hoe
|
149
176
|
prerelease: false
|
150
|
-
requirement: &
|
177
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
151
178
|
requirements:
|
152
179
|
- - ">="
|
153
180
|
- !ruby/object:Gem::Version
|
@@ -157,7 +184,7 @@ dependencies:
|
|
157
184
|
- 0
|
158
185
|
version: 2.6.0
|
159
186
|
type: :development
|
160
|
-
version_requirements: *
|
187
|
+
version_requirements: *id011
|
161
188
|
description: |-
|
162
189
|
A suite for basic and advanced statistics on Ruby. Tested on Ruby 1.8.7, 1.9.1, 1.9.2 (April, 2010) and JRuby 1.4 (Ruby 1.8.7 compatible).
|
163
190
|
|
metadata.gz.sig
CHANGED
Binary file
|