statsample 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/History.txt +14 -0
- data/Manifest.txt +4 -0
- data/README.txt +49 -13
- data/data/locale/es/LC_MESSAGES/statsample.mo +0 -0
- data/lib/statsample.rb +1 -23
- data/lib/statsample/analysis.rb +49 -28
- data/lib/statsample/analysis/suite.rb +18 -5
- data/lib/statsample/analysis/suitereportbuilder.rb +9 -3
- data/lib/statsample/anova.rb +2 -0
- data/lib/statsample/anova/contrast.rb +79 -0
- data/lib/statsample/anova/oneway.rb +39 -5
- data/lib/statsample/converter/csv.rb +2 -5
- data/lib/statsample/converters.rb +1 -0
- data/lib/statsample/dataset.rb +31 -1
- data/lib/statsample/graph/histogram.rb +1 -1
- data/lib/statsample/regression/multiple/baseengine.rb +5 -0
- data/lib/statsample/reliability/multiscaleanalysis.rb +3 -1
- data/lib/statsample/reliability/scaleanalysis.rb +3 -4
- data/lib/statsample/shorthand.rb +41 -1
- data/lib/statsample/test.rb +10 -0
- data/lib/statsample/test/kolmogorovsmirnov.rb +61 -0
- data/lib/statsample/test/t.rb +92 -9
- data/lib/statsample/vector.rb +143 -10
- data/po/es/statsample.mo +0 -0
- data/po/es/statsample.po +109 -110
- data/po/statsample.pot +108 -60
- data/test/helpers_tests.rb +1 -0
- data/test/test_analysis.rb +70 -11
- data/test/test_anova_contrast.rb +36 -0
- data/test/test_anovawithvectors.rb +8 -0
- data/test/test_dataset.rb +12 -0
- data/test/test_factor_pa.rb +1 -3
- data/test/test_test_kolmogorovsmirnov.rb +34 -0
- data/test/test_test_t.rb +16 -0
- data/test/test_vector.rb +40 -2
- metadata +44 -118
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
2
|
+
class StatsampleAnovaContrastTestCase < MiniTest::Unit::TestCase
|
3
|
+
context(Statsample::Anova::Contrast) do
|
4
|
+
setup do
|
5
|
+
constant=[12,13,11,12,12].to_scale
|
6
|
+
frequent=[9,10,9,13,14].to_scale
|
7
|
+
infrequent=[15,16,17,16,16].to_scale
|
8
|
+
never=[17,18,12,18,20].to_scale
|
9
|
+
@vectors=[constant, frequent, infrequent, never]
|
10
|
+
@c=Statsample::Anova::Contrast.new(:vectors=>@vectors)
|
11
|
+
end
|
12
|
+
should "return correct value using c" do
|
13
|
+
@c.c([1,-1.quo(3),-1.quo(3),-1.quo(3)])
|
14
|
+
#@c.c([1,-0.333,-0.333,-0.333])
|
15
|
+
assert_in_delta(-2.6667, @c.psi, 0.0001)
|
16
|
+
assert_in_delta(1.0165, @c.se, 0.0001)
|
17
|
+
assert_in_delta(-2.623, @c.t, 0.001)
|
18
|
+
assert_in_delta(-4.82, @c.confidence_interval[0],0.01)
|
19
|
+
assert_in_delta(-0.51, @c.confidence_interval[1],0.01)
|
20
|
+
assert(@c.summary.size>0)
|
21
|
+
end
|
22
|
+
should "return correct values using c_by_index" do
|
23
|
+
@c.c_by_index([0],[1,2,3])
|
24
|
+
assert_in_delta(-2.6667, @c.psi, 0.0001)
|
25
|
+
assert_in_delta(1.0165, @c.se, 0.0001)
|
26
|
+
assert_in_delta(-2.623, @c.t, 0.001)
|
27
|
+
end
|
28
|
+
should "return correct values using incomplete c_by_index" do
|
29
|
+
c1=Statsample::Anova::Contrast.new(:vectors=>@vectors, :c=>[0.5,0.5,-1,0])
|
30
|
+
c2=Statsample::Anova::Contrast.new(:vectors=>@vectors, :c1=>[0,1],:c2=>[2])
|
31
|
+
assert_equal(c1.psi,c2.psi)
|
32
|
+
assert_equal(c1.se,c2.se)
|
33
|
+
assert_equal(c1.t,c2.t)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
2
2
|
class StatsampleAnovaOneWayWithVectorsTestCase < MiniTest::Unit::TestCase
|
3
3
|
context(Statsample::Anova::OneWayWithVectors) do
|
4
|
+
|
4
5
|
context("when initializing") do
|
5
6
|
setup do
|
6
7
|
@v1=10.times.map {rand(100)}.to_scale
|
@@ -34,6 +35,13 @@ class StatsampleAnovaOneWayWithVectorsTestCase < MiniTest::Unit::TestCase
|
|
34
35
|
@name="Anova testing"
|
35
36
|
@anova=Statsample::Anova::OneWayWithVectors.new(@v1,@v2,@v3, :name=>@name)
|
36
37
|
end
|
38
|
+
should "store correctly contrasts" do
|
39
|
+
c1=Statsample::Anova::Contrast.new(:vectors=>[@v1,@v2,@v3], :c=>[1,-0.5, -0.5])
|
40
|
+
|
41
|
+
c2=@anova.contrast(:c=>[1,-0.5,-0.5])
|
42
|
+
assert_equal(c1.t,c2.t)
|
43
|
+
|
44
|
+
end
|
37
45
|
should "respond to #summary" do
|
38
46
|
assert(@anova.respond_to? :summary)
|
39
47
|
end
|
data/test/test_dataset.rb
CHANGED
@@ -5,6 +5,18 @@ class StatsampleDatasetTestCase < MiniTest::Unit::TestCase
|
|
5
5
|
'city'=>Statsample::Vector.new(['New York','London','London','Paris','Tome']),
|
6
6
|
'a1'=>Statsample::Vector.new(['a,b','b,c','a',nil,'a,b,c'])}, ['id','name','age','city','a1'])
|
7
7
|
end
|
8
|
+
def test_nest
|
9
|
+
ds={
|
10
|
+
'a'=>%w{a a a b b b}.to_vector,
|
11
|
+
'b'=>%w{c c d d e e}.to_vector,
|
12
|
+
'c'=>%w{f g h i j k}.to_vector
|
13
|
+
}.to_dataset
|
14
|
+
nest=ds.nest('a','b')
|
15
|
+
assert_equal([{'c'=>'f'},{'c'=>'g'}], nest['a']['c'])
|
16
|
+
assert_equal([{'c'=>'h'}], nest['a']['d'])
|
17
|
+
assert_equal([{'c'=>'j'},{'c'=>'k'}], nest['b']['e'])
|
18
|
+
|
19
|
+
end
|
8
20
|
def test_should_have_summary
|
9
21
|
assert(@ds.summary.size>0)
|
10
22
|
end
|
data/test/test_factor_pa.rb
CHANGED
@@ -35,7 +35,7 @@ class StatsampleFactorTestCase < MiniTest::Unit::TestCase
|
|
35
35
|
pa2=Statsample::Factor::ParallelAnalysis.with_random_data(samples,variables,:iterations=>iterations,:percentil=>95)
|
36
36
|
3.times do |n|
|
37
37
|
var="ev_0000#{n+1}"
|
38
|
-
assert_in_delta(pa1.ds_eigenvalues[var].mean, pa2.ds_eigenvalues[var].mean,0.
|
38
|
+
assert_in_delta(pa1.ds_eigenvalues[var].mean, pa2.ds_eigenvalues[var].mean,0.05)
|
39
39
|
end
|
40
40
|
else
|
41
41
|
skip("Too slow without GSL")
|
@@ -48,7 +48,5 @@ class StatsampleFactorTestCase < MiniTest::Unit::TestCase
|
|
48
48
|
assert_in_delta(1.1542, pa.ds_eigenvalues['ev_00002'].mean, 0.01)
|
49
49
|
assert_in_delta(1.0836, pa.ds_eigenvalues['ev_00003'].mean, 0.01)
|
50
50
|
assert(pa.summary.size>0)
|
51
|
-
#pa=Statsample::Factor::ParallelAnalysis.with_random_data(305,8,100, 95, true)
|
52
|
-
#puts pa.summary
|
53
51
|
end
|
54
52
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
2
|
+
class StatsampleTestKolmogorovSmirnovTestCase < MiniTest::Unit::TestCase
|
3
|
+
context(Statsample::Test::KolmogorovSmirnov) do
|
4
|
+
should "calculate correctly D for two given samples" do
|
5
|
+
a=[1.1,2.5,5.6,9]
|
6
|
+
b=[1,2.3,5.8,10]
|
7
|
+
ks=Statsample::Test::KolmogorovSmirnov.new(a,b)
|
8
|
+
assert_equal(0.25,ks.d)
|
9
|
+
end
|
10
|
+
should "calculate correctly D for a normal sample and Normal Distribution" do
|
11
|
+
a=[0.30022510,-0.36664035,0.08593404,1.29881130,-0.49878633,-0.63056010, 0.28397638, -0.04913700,0.03566644,-1.33414346]
|
12
|
+
ks=Statsample::Test::KolmogorovSmirnov.new(a,Distribution::Normal)
|
13
|
+
assert_in_delta(0.282, ks.d,0.001)
|
14
|
+
end
|
15
|
+
should "calculate correctly D for a variable normal and Normal Distribution" do
|
16
|
+
rng=Distribution::Normal.rng
|
17
|
+
a=100.times.map {rng.call}
|
18
|
+
ks=Statsample::Test::KolmogorovSmirnov.new(a,Distribution::Normal)
|
19
|
+
assert(ks.d<0.15)
|
20
|
+
end
|
21
|
+
|
22
|
+
context(Statsample::Test::KolmogorovSmirnov::EmpiricDistribution) do
|
23
|
+
should "Create a correct empirical distribution for an array" do
|
24
|
+
a=[10,9,8,7,6,5,4,3,2,1]
|
25
|
+
ed=Statsample::Test::KolmogorovSmirnov::EmpiricDistribution.new(a)
|
26
|
+
assert_equal(0, ed.cdf(-2))
|
27
|
+
assert_equal(0.5, ed.cdf(5))
|
28
|
+
assert_equal(0.5, ed.cdf(5.5))
|
29
|
+
assert_equal(0.9, ed.cdf(9))
|
30
|
+
assert_equal(1, ed.cdf(11))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/test/test_test_t.rb
CHANGED
@@ -13,6 +13,22 @@ class StatsampleTestTTestCase < MiniTest::Unit::TestCase
|
|
13
13
|
@n1=@a.n
|
14
14
|
@n2=@b.n
|
15
15
|
end
|
16
|
+
should "calculate correctly standard t" do
|
17
|
+
t=Statsample::Test::T.new(@x1, @s1.quo(Math.sqrt(@a.n)), @a.n-1)
|
18
|
+
assert_equal((@x1).quo(@s1.quo(Math.sqrt(@a.n))), t.t)
|
19
|
+
assert_equal(@a.n-1, t.df)
|
20
|
+
assert(t.summary.size>0)
|
21
|
+
end
|
22
|
+
should "calculate correctly t for one sample" do
|
23
|
+
t1=[6, 4, 6, 7, 4,5,5,12,6,1].to_scale
|
24
|
+
t2=[9, 6, 5,10,10,8,7,10,6,5].to_scale
|
25
|
+
d=t1-t2
|
26
|
+
t=Statsample::Test::T::OneSample.new(d)
|
27
|
+
assert_in_delta(-2.631, t.t, 0.001)
|
28
|
+
assert_in_delta( 0.027, t.probability, 0.001)
|
29
|
+
assert_in_delta( 0.76012, t.se, 0.0001)
|
30
|
+
assert(t.summary.size>0)
|
31
|
+
end
|
16
32
|
should "calculate correctly t for two samples" do
|
17
33
|
assert_in_delta(1.959, T.two_sample_independent(@x1, @x2, @s1, @s2, @n1, @n2),0.001)
|
18
34
|
assert_in_delta(1.959, T.two_sample_independent(@x1, @x2, @s1, @s2, @n1, @n2,true),0.001)
|
data/test/test_vector.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
2
2
|
|
3
3
|
class StatsampleTestVector < MiniTest::Unit::TestCase
|
4
|
+
include Statsample::Shorthand
|
5
|
+
|
4
6
|
def setup
|
5
7
|
@c = Statsample::Vector.new([5,5,5,5,5,6,6,7,8,9,10,1,2,3,4,nil,-99,-99], :nominal)
|
6
8
|
@c.name="Test Vector"
|
@@ -66,7 +68,7 @@ class StatsampleTestVector < MiniTest::Unit::TestCase
|
|
66
68
|
refute(v.flawed?)
|
67
69
|
|
68
70
|
end
|
69
|
-
|
71
|
+
|
70
72
|
context "using matrix operations" do
|
71
73
|
setup do
|
72
74
|
@a=[1,2,3,4,5].to_scale
|
@@ -164,7 +166,10 @@ class StatsampleTestVector < MiniTest::Unit::TestCase
|
|
164
166
|
assert_counting_tokens(b)
|
165
167
|
end
|
166
168
|
end
|
167
|
-
|
169
|
+
should "return correct median_absolute_deviation" do
|
170
|
+
a=[1, 1, 2, 2, 4, 6, 9].to_scale
|
171
|
+
assert_equal(1, a.median_absolute_deviation)
|
172
|
+
end
|
168
173
|
should "return correct histogram" do
|
169
174
|
a=10.times.map {|v| v}.to_scale
|
170
175
|
hist=a.histogram(2)
|
@@ -287,6 +292,39 @@ class StatsampleTestVector < MiniTest::Unit::TestCase
|
|
287
292
|
@c.type=:ordinal
|
288
293
|
assert_raise(::NoMethodError) { @c.mean }
|
289
294
|
end
|
295
|
+
should "jacknife correctly with named method" do
|
296
|
+
# First example
|
297
|
+
a=[1,2,3,4].to_scale
|
298
|
+
ds=a.jacknife(:mean)
|
299
|
+
assert_equal(a.mean, ds[:mean].mean)
|
300
|
+
ds=a.jacknife([:mean,:sd])
|
301
|
+
assert_equal(a.mean, ds[:mean].mean)
|
302
|
+
assert_equal(a.sd, ds[:mean].sd)
|
303
|
+
end
|
304
|
+
should "jacknife correctly with custom method" do
|
305
|
+
# Second example
|
306
|
+
a=[17.23, 18.71,13.93,18.81,15.78,11.29,14.91,13.39, 18.21, 11.57, 14.28, 10.94, 18.83, 15.52,13.45,15.25].to_scale
|
307
|
+
ds=a.jacknife(:log_s2=>lambda {|v| Math.log(v.variance) })
|
308
|
+
exp=[1.605, 2.972, 1.151, 3.097, 0.998, 3.308, 0.942, 1.393, 2.416, 2.951, 1.043, 3.806, 3.122, 0.958, 1.362, 0.937].to_scale
|
309
|
+
|
310
|
+
assert_similar_vector(exp, ds[:log_s2], 0.001)
|
311
|
+
assert_in_delta(2.00389, ds[:log_s2].mean, 0.00001)
|
312
|
+
assert_in_delta(1.091, ds[:log_s2].variance, 0.001)
|
313
|
+
end
|
314
|
+
should "jacknife correctly with k>1" do
|
315
|
+
a=rnorm(6)
|
316
|
+
ds=a.jacknife(:mean,2)
|
317
|
+
mean=a.mean
|
318
|
+
exp=[3*mean-2*(a[2]+a[3]+a[4]+a[5]) / 4, 3*mean-2*(a[0]+a[1]+a[4]+a[5]) / 4, 3*mean-2*(a[0]+a[1]+a[2]+a[3]) / 4].to_scale
|
319
|
+
assert_similar_vector(exp, ds[:mean], 1e-13)
|
320
|
+
end
|
321
|
+
should "bootstrap should return a vector with mean=mu and sd=se" do
|
322
|
+
a=rnorm(100)
|
323
|
+
ds=a.bootstrap([:mean,:sd],200)
|
324
|
+
se=1/Math.sqrt(a.size)
|
325
|
+
assert_in_delta(0, ds[:mean].mean, 0.3)
|
326
|
+
assert_in_delta(se, ds[:mean].sd, 0.02)
|
327
|
+
end
|
290
328
|
|
291
329
|
|
292
330
|
end
|
metadata
CHANGED
@@ -1,41 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statsample
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
version: 1.0.1
|
4
|
+
prerelease:
|
5
|
+
version: 1.1.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Claudio Bustos
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
|
-
cert_chain:
|
16
|
-
- |
|
17
|
-
-----BEGIN CERTIFICATE-----
|
18
|
-
MIIDMjCCAhqgAwIBAgIBADANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhjbGJ1
|
19
|
-
c3RvczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
20
|
-
MB4XDTEwMDMyOTIxMzg1NVoXDTExMDMyOTIxMzg1NVowPzERMA8GA1UEAwwIY2xi
|
21
|
-
dXN0b3MxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
22
|
-
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf8JVMGqE7m5kYb+PNN
|
23
|
-
neZv2pcXV5fQCi6xkyG8bi2/SIFy/LyxuvLzEeOxBeaz1Be93bayIUquOIqw3dyw
|
24
|
-
/KXWa31FxuNuvAm6CN8fyeRYX/ou4cw3OIUUnIvB7RMNIu4wbgeM6htV/QEsNLrv
|
25
|
-
at1/mh9JpqawPrcjIOVMj4BIp67vmzJCaUf+S/H2uYtSO09F+YQE3tv85TPeRmqU
|
26
|
-
yjyXyTc/oJiw1cXskUL8UtMWZmrwNLHXuZWWIMzkjiz3UNdhJr/t5ROk8S2WPznl
|
27
|
-
0bMy/PMIlAbqWolRn1zl2VFJ3TaXScbqImY8Wf4g62b/1ZSUlGrtnLNsCYXrWiso
|
28
|
-
UPUCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGu9
|
29
|
-
rrJ1H64qRmNNu3Jj/Qjvh0u5MA0GCSqGSIb3DQEBBQUAA4IBAQCV0Unka5isrhZk
|
30
|
-
GjqSDqY/6hF+G2pbFcbWUpjmC8NWtAxeC+7NGV3ljd0e1SLfoyBj4gnFtFmY8qX4
|
31
|
-
K02tgSZM0eDV8TpgFpWXzK6LzHvoanuahHLZEtk/+Z885lFene+nHadkem1n9iAB
|
32
|
-
cs96JO9/JfFyuXM27wFAwmfHCmJfPF09R4VvGHRAvb8MGzSVgk2i06OJTqkBTwvv
|
33
|
-
JHJdoyw3+8bw9RJ+jLaNoQ+xu+1pQdS2bb3m7xjZpufml/m8zFCtjYM/7qgkKR8z
|
34
|
-
/ZZt8lCiKfFArppRrZayE2FVsps4X6WwBdrKTMZ0CKSXTRctbEj1BAZ67eoTvBBt
|
35
|
-
rpP0jjs0
|
36
|
-
-----END CERTIFICATE-----
|
11
|
+
cert_chain: []
|
37
12
|
|
38
|
-
date: 2011-
|
13
|
+
date: 2011-06-02 00:00:00 -04:00
|
39
14
|
default_executable:
|
40
15
|
dependencies:
|
41
16
|
- !ruby/object:Gem::Dependency
|
@@ -46,10 +21,6 @@ dependencies:
|
|
46
21
|
requirements:
|
47
22
|
- - ~>
|
48
23
|
- !ruby/object:Gem::Version
|
49
|
-
segments:
|
50
|
-
- 0
|
51
|
-
- 6
|
52
|
-
- 5
|
53
24
|
version: 0.6.5
|
54
25
|
type: :runtime
|
55
26
|
version_requirements: *id001
|
@@ -61,9 +32,6 @@ dependencies:
|
|
61
32
|
requirements:
|
62
33
|
- - ~>
|
63
34
|
- !ruby/object:Gem::Version
|
64
|
-
segments:
|
65
|
-
- 1
|
66
|
-
- 4
|
67
35
|
version: "1.4"
|
68
36
|
type: :runtime
|
69
37
|
version_requirements: *id002
|
@@ -75,10 +43,6 @@ dependencies:
|
|
75
43
|
requirements:
|
76
44
|
- - ~>
|
77
45
|
- !ruby/object:Gem::Version
|
78
|
-
segments:
|
79
|
-
- 0
|
80
|
-
- 2
|
81
|
-
- 0
|
82
46
|
version: 0.2.0
|
83
47
|
type: :runtime
|
84
48
|
version_requirements: *id003
|
@@ -90,8 +54,6 @@ dependencies:
|
|
90
54
|
requirements:
|
91
55
|
- - ">"
|
92
56
|
- !ruby/object:Gem::Version
|
93
|
-
segments:
|
94
|
-
- 0
|
95
57
|
version: "0"
|
96
58
|
type: :runtime
|
97
59
|
version_requirements: *id004
|
@@ -103,9 +65,6 @@ dependencies:
|
|
103
65
|
requirements:
|
104
66
|
- - ~>
|
105
67
|
- !ruby/object:Gem::Version
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
- 0
|
109
68
|
version: "0.0"
|
110
69
|
type: :runtime
|
111
70
|
version_requirements: *id005
|
@@ -117,10 +76,6 @@ dependencies:
|
|
117
76
|
requirements:
|
118
77
|
- - ~>
|
119
78
|
- !ruby/object:Gem::Version
|
120
|
-
segments:
|
121
|
-
- 0
|
122
|
-
- 3
|
123
|
-
- 1
|
124
79
|
version: 0.3.1
|
125
80
|
type: :runtime
|
126
81
|
version_requirements: *id006
|
@@ -132,8 +87,6 @@ dependencies:
|
|
132
87
|
requirements:
|
133
88
|
- - ">"
|
134
89
|
- !ruby/object:Gem::Version
|
135
|
-
segments:
|
136
|
-
- 0
|
137
90
|
version: "0"
|
138
91
|
type: :runtime
|
139
92
|
version_requirements: *id007
|
@@ -145,10 +98,6 @@ dependencies:
|
|
145
98
|
requirements:
|
146
99
|
- - ~>
|
147
100
|
- !ruby/object:Gem::Version
|
148
|
-
segments:
|
149
|
-
- 0
|
150
|
-
- 2
|
151
|
-
- 5
|
152
101
|
version: 0.2.5
|
153
102
|
type: :runtime
|
154
103
|
version_requirements: *id008
|
@@ -160,10 +109,6 @@ dependencies:
|
|
160
109
|
requirements:
|
161
110
|
- - ~>
|
162
111
|
- !ruby/object:Gem::Version
|
163
|
-
segments:
|
164
|
-
- 0
|
165
|
-
- 4
|
166
|
-
- 0
|
167
112
|
version: 0.4.0
|
168
113
|
type: :runtime
|
169
114
|
version_requirements: *id009
|
@@ -175,9 +120,6 @@ dependencies:
|
|
175
120
|
requirements:
|
176
121
|
- - ~>
|
177
122
|
- !ruby/object:Gem::Version
|
178
|
-
segments:
|
179
|
-
- 0
|
180
|
-
- 3
|
181
123
|
version: "0.3"
|
182
124
|
type: :runtime
|
183
125
|
version_requirements: *id010
|
@@ -189,8 +131,6 @@ dependencies:
|
|
189
131
|
requirements:
|
190
132
|
- - ~>
|
191
133
|
- !ruby/object:Gem::Version
|
192
|
-
segments:
|
193
|
-
- 0
|
194
134
|
version: "0"
|
195
135
|
type: :development
|
196
136
|
version_requirements: *id011
|
@@ -202,8 +142,6 @@ dependencies:
|
|
202
142
|
requirements:
|
203
143
|
- - ~>
|
204
144
|
- !ruby/object:Gem::Version
|
205
|
-
segments:
|
206
|
-
- 0
|
207
145
|
version: "0"
|
208
146
|
type: :development
|
209
147
|
version_requirements: *id012
|
@@ -215,9 +153,6 @@ dependencies:
|
|
215
153
|
requirements:
|
216
154
|
- - ~>
|
217
155
|
- !ruby/object:Gem::Version
|
218
|
-
segments:
|
219
|
-
- 2
|
220
|
-
- 0
|
221
156
|
version: "2.0"
|
222
157
|
type: :development
|
223
158
|
version_requirements: *id013
|
@@ -229,8 +164,6 @@ dependencies:
|
|
229
164
|
requirements:
|
230
165
|
- - ~>
|
231
166
|
- !ruby/object:Gem::Version
|
232
|
-
segments:
|
233
|
-
- 0
|
234
167
|
version: "0"
|
235
168
|
type: :development
|
236
169
|
version_requirements: *id014
|
@@ -242,8 +175,6 @@ dependencies:
|
|
242
175
|
requirements:
|
243
176
|
- - ~>
|
244
177
|
- !ruby/object:Gem::Version
|
245
|
-
segments:
|
246
|
-
- 0
|
247
178
|
version: "0"
|
248
179
|
type: :development
|
249
180
|
version_requirements: *id015
|
@@ -255,8 +186,6 @@ dependencies:
|
|
255
186
|
requirements:
|
256
187
|
- - ~>
|
257
188
|
- !ruby/object:Gem::Version
|
258
|
-
segments:
|
259
|
-
- 0
|
260
189
|
version: "0"
|
261
190
|
type: :development
|
262
191
|
version_requirements: *id016
|
@@ -268,8 +197,6 @@ dependencies:
|
|
268
197
|
requirements:
|
269
198
|
- - ~>
|
270
199
|
- !ruby/object:Gem::Version
|
271
|
-
segments:
|
272
|
-
- 0
|
273
200
|
version: "0"
|
274
201
|
type: :development
|
275
202
|
version_requirements: *id017
|
@@ -281,22 +208,18 @@ dependencies:
|
|
281
208
|
requirements:
|
282
209
|
- - ">="
|
283
210
|
- !ruby/object:Gem::Version
|
284
|
-
|
285
|
-
- 2
|
286
|
-
- 8
|
287
|
-
- 0
|
288
|
-
version: 2.8.0
|
211
|
+
version: 2.9.0
|
289
212
|
type: :development
|
290
213
|
version_requirements: *id018
|
291
214
|
description: |-
|
292
|
-
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).
|
215
|
+
A suite for basic and advanced statistics on Ruby. Tested on Ruby 1.8.7, 1.9.1, 1.9.2 (April, 2010), ruby-head(June, 2011) and JRuby 1.4 (Ruby 1.8.7 compatible).
|
293
216
|
|
294
217
|
Include:
|
295
218
|
* Descriptive statistics: frequencies, median, mean, standard error, skew, kurtosis (and many others).
|
296
219
|
* Imports and exports datasets from and to Excel, CSV and plain text files.
|
297
220
|
* Correlations: Pearson's r, Spearman's rank correlation (rho), point biserial, tau a, tau b and gamma. Tetrachoric and Polychoric correlation provides by +statsample-bivariate-extension+ gem.
|
298
221
|
* Intra-class correlation
|
299
|
-
* Anova: generic and vector-based One-way ANOVA and Two-way ANOVA
|
222
|
+
* Anova: generic and vector-based One-way ANOVA and Two-way ANOVA, with contrasts for One-way ANOVA.
|
300
223
|
* Tests: F, T, Levene, U-Mannwhitney.
|
301
224
|
* Regression: Simple, Multiple (OLS), Probit and Logit
|
302
225
|
* Factorial Analysis: Extraction (PCA and Principal Axis), Rotation (Varimax, Equimax, Quartimax) and Parallel Analysis and Velicer's MAP test, for estimation of number of factors.
|
@@ -365,6 +288,7 @@ files:
|
|
365
288
|
- lib/statsample/analysis/suite.rb
|
366
289
|
- lib/statsample/analysis/suitereportbuilder.rb
|
367
290
|
- lib/statsample/anova.rb
|
291
|
+
- lib/statsample/anova/contrast.rb
|
368
292
|
- lib/statsample/anova/oneway.rb
|
369
293
|
- lib/statsample/anova/twoway.rb
|
370
294
|
- lib/statsample/bivariate.rb
|
@@ -418,6 +342,7 @@ files:
|
|
418
342
|
- lib/statsample/test/bartlettsphericity.rb
|
419
343
|
- lib/statsample/test/chisquare.rb
|
420
344
|
- lib/statsample/test/f.rb
|
345
|
+
- lib/statsample/test/kolmogorovsmirnov.rb
|
421
346
|
- lib/statsample/test/levene.rb
|
422
347
|
- lib/statsample/test/t.rb
|
423
348
|
- lib/statsample/test/umannwhitney.rb
|
@@ -440,6 +365,7 @@ files:
|
|
440
365
|
- test/fixtures/tetmat_test.txt
|
441
366
|
- test/helpers_tests.rb
|
442
367
|
- test/test_analysis.rb
|
368
|
+
- test/test_anova_contrast.rb
|
443
369
|
- test/test_anovaoneway.rb
|
444
370
|
- test/test_anovatwoway.rb
|
445
371
|
- test/test_anovatwowaywithdataset.rb
|
@@ -472,11 +398,13 @@ files:
|
|
472
398
|
- test/test_stest.rb
|
473
399
|
- test/test_stratified.rb
|
474
400
|
- test/test_test_f.rb
|
401
|
+
- test/test_test_kolmogorovsmirnov.rb
|
475
402
|
- test/test_test_t.rb
|
476
403
|
- test/test_umannwhitney.rb
|
477
404
|
- test/test_vector.rb
|
478
405
|
- test/test_xls.rb
|
479
406
|
- web/Rakefile
|
407
|
+
- .gemtest
|
480
408
|
has_rdoc: true
|
481
409
|
homepage: http://ruby-statsample.rubyforge.org/
|
482
410
|
licenses: []
|
@@ -510,59 +438,57 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
510
438
|
requirements:
|
511
439
|
- - ">="
|
512
440
|
- !ruby/object:Gem::Version
|
513
|
-
segments:
|
514
|
-
- 0
|
515
441
|
version: "0"
|
516
442
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
517
443
|
none: false
|
518
444
|
requirements:
|
519
445
|
- - ">="
|
520
446
|
- !ruby/object:Gem::Version
|
521
|
-
segments:
|
522
|
-
- 0
|
523
447
|
version: "0"
|
524
448
|
requirements: []
|
525
449
|
|
526
450
|
rubyforge_project: ruby-statsample
|
527
|
-
rubygems_version: 1.
|
451
|
+
rubygems_version: 1.5.0
|
528
452
|
signing_key:
|
529
453
|
specification_version: 3
|
530
454
|
summary: A suite for basic and advanced statistics on Ruby
|
531
455
|
test_files:
|
532
|
-
- test/
|
533
|
-
- test/
|
534
|
-
- test/
|
535
|
-
- test/
|
536
|
-
- test/
|
537
|
-
- test/test_anovatwowaywithdataset.rb
|
538
|
-
- test/test_umannwhitney.rb
|
456
|
+
- test/test_analysis.rb
|
457
|
+
- test/test_regression.rb
|
458
|
+
- test/test_stest.rb
|
459
|
+
- test/test_logit.rb
|
460
|
+
- test/test_ggobi.rb
|
539
461
|
- test/test_factor_map.rb
|
540
|
-
- test/
|
541
|
-
- test/
|
542
|
-
- test/
|
462
|
+
- test/test_anovatwoway.rb
|
463
|
+
- test/test_test_f.rb
|
464
|
+
- test/test_multiset.rb
|
465
|
+
- test/test_srs.rb
|
466
|
+
- test/test_codification.rb
|
543
467
|
- test/test_csv.rb
|
544
|
-
- test/
|
545
|
-
- test/
|
468
|
+
- test/test_crosstab.rb
|
469
|
+
- test/test_umannwhitney.rb
|
546
470
|
- test/test_gsl.rb
|
471
|
+
- test/test_anova_contrast.rb
|
472
|
+
- test/test_test_kolmogorovsmirnov.rb
|
547
473
|
- test/test_bartlettsphericity.rb
|
548
|
-
- test/test_mle.rb
|
549
|
-
- test/test_resample.rb
|
550
|
-
- test/test_stratified.rb
|
551
474
|
- test/test_vector.rb
|
552
|
-
- test/test_srs.rb
|
553
|
-
- test/test_ggobi.rb
|
554
|
-
- test/test_xls.rb
|
555
|
-
- test/test_logit.rb
|
556
|
-
- test/test_stest.rb
|
557
|
-
- test/test_statistics.rb
|
558
|
-
- test/test_reliability.rb
|
559
|
-
- test/test_reliability_icc.rb
|
560
|
-
- test/test_anovatwoway.rb
|
561
|
-
- test/test_test_f.rb
|
562
475
|
- test/test_test_t.rb
|
563
|
-
- test/
|
476
|
+
- test/test_reliability.rb
|
477
|
+
- test/test_bivariate.rb
|
478
|
+
- test/test_anovawithvectors.rb
|
479
|
+
- test/test_xls.rb
|
480
|
+
- test/test_anovaoneway.rb
|
564
481
|
- test/test_dataset.rb
|
565
|
-
- test/
|
566
|
-
- test/test_multiset.rb
|
482
|
+
- test/test_rserve_extension.rb
|
567
483
|
- test/test_reliability_skillscale.rb
|
568
|
-
- test/
|
484
|
+
- test/test_histogram.rb
|
485
|
+
- test/test_stratified.rb
|
486
|
+
- test/test_matrix.rb
|
487
|
+
- test/test_dominance_analysis.rb
|
488
|
+
- test/test_anovatwowaywithdataset.rb
|
489
|
+
- test/test_resample.rb
|
490
|
+
- test/test_mle.rb
|
491
|
+
- test/test_statistics.rb
|
492
|
+
- test/test_factor.rb
|
493
|
+
- test/test_factor_pa.rb
|
494
|
+
- test/test_reliability_icc.rb
|