statsample 1.4.1 → 1.4.2
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.
- checksums.yaml +4 -4
- data/.travis.yml +4 -3
- data/History.txt +4 -0
- data/README.md +4 -0
- data/lib/statsample/converter/csv.rb +41 -54
- data/lib/statsample/converters.rb +18 -19
- data/lib/statsample/version.rb +1 -1
- data/test/fixtures/scientific_notation.csv +4 -0
- data/test/helpers_tests.rb +37 -38
- data/test/test_analysis.rb +96 -97
- data/test/test_anova_contrast.rb +22 -22
- data/test/test_anovaoneway.rb +12 -12
- data/test/test_anovatwoway.rb +16 -17
- data/test/test_anovatwowaywithdataset.rb +22 -24
- data/test/test_anovawithvectors.rb +67 -69
- data/test/test_awesome_print_bug.rb +9 -9
- data/test/test_bartlettsphericity.rb +13 -13
- data/test/test_bivariate.rb +122 -126
- data/test/test_codification.rb +51 -49
- data/test/test_crosstab.rb +44 -40
- data/test/test_csv.rb +52 -70
- data/test/test_dataset.rb +347 -330
- data/test/test_dominance_analysis.rb +22 -24
- data/test/test_factor.rb +163 -166
- data/test/test_factor_map.rb +25 -30
- data/test/test_factor_pa.rb +28 -28
- data/test/test_ggobi.rb +19 -18
- data/test/test_gsl.rb +13 -15
- data/test/test_histogram.rb +74 -77
- data/test/test_matrix.rb +29 -31
- data/test/test_multiset.rb +132 -126
- data/test/test_regression.rb +143 -149
- data/test/test_reliability.rb +149 -155
- data/test/test_reliability_icc.rb +100 -104
- data/test/test_reliability_skillscale.rb +38 -40
- data/test/test_resample.rb +14 -12
- data/test/test_rserve_extension.rb +33 -33
- data/test/test_srs.rb +5 -5
- data/test/test_statistics.rb +52 -50
- data/test/test_stest.rb +27 -28
- data/test/test_stratified.rb +10 -10
- data/test/test_test_f.rb +17 -17
- data/test/test_test_kolmogorovsmirnov.rb +21 -21
- data/test/test_test_t.rb +52 -52
- data/test/test_umannwhitney.rb +16 -16
- data/test/test_vector.rb +419 -410
- data/test/test_wilcoxonsignedrank.rb +60 -63
- data/test/test_xls.rb +41 -41
- metadata +55 -5
- data/web/Rakefile +0 -39
@@ -1,67 +1,64 @@
|
|
1
|
-
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
1
|
+
require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb'))
|
2
2
|
|
3
|
-
class StatsampleUMannWhitneyTestCase <
|
3
|
+
class StatsampleUMannWhitneyTestCase < Minitest::Test
|
4
4
|
include Statsample::Test
|
5
5
|
context Statsample::Test::WilcoxonSignedRank do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
66
|
-
|
6
|
+
context 'Example 1' do
|
7
|
+
setup do
|
8
|
+
@v1 = [110, 122, 125, 120, 140, 124, 123, 137, 135, 145].to_scale
|
9
|
+
@v2 = [125, 115, 130, 140, 140, 115, 140, 125, 140, 135].to_scale
|
10
|
+
@u = Statsample::Test::WilcoxonSignedRank.new(@v1, @v2)
|
11
|
+
end
|
12
|
+
should 'have same result using class or Test#u_mannwhitney' do
|
13
|
+
assert_equal(Statsample::Test.wilcoxon_signed_rank(@v1, @v2).w, @u.w)
|
14
|
+
end
|
15
|
+
should 'have correct W values' do
|
16
|
+
assert_equal(9, @u.w)
|
17
|
+
end
|
18
|
+
should 'have correct nr values' do
|
19
|
+
assert_equal(9, @u.nr)
|
20
|
+
end
|
21
|
+
should 'have correct value for z' do
|
22
|
+
assert_in_delta(0.503, @u.z, 0.001)
|
23
|
+
end
|
24
|
+
should 'have correct value for probability_z' do
|
25
|
+
assert_in_delta(0.614, @u.probability_z, 0.001)
|
26
|
+
end
|
27
|
+
should 'have correct value for probability_exact' do
|
28
|
+
assert_in_delta(0.652, @u.probability_exact, 0.001)
|
29
|
+
end
|
30
|
+
should 'have summary' do
|
31
|
+
assert(@u.summary != '')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'Example 2' do
|
36
|
+
setup do
|
37
|
+
@v2 = [78, 24, 64, 45, 64, 52, 30, 50, 64, 50, 78, 22, 84, 40, 90, 72].to_scale
|
38
|
+
@v1 = [78, 24, 62, 48, 68, 56, 25, 44, 56, 40, 68, 36, 68, 20, 58, 32].to_scale
|
39
|
+
@u = Statsample::Test::WilcoxonSignedRank.new(@v1, @v2)
|
40
|
+
end
|
41
|
+
should 'have same result using class or Test#u_mannwhitney' do
|
42
|
+
assert_equal(Statsample::Test.wilcoxon_signed_rank(@v1, @v2).w, @u.w)
|
43
|
+
end
|
44
|
+
should 'have correct W values' do
|
45
|
+
assert_equal(67, @u.w)
|
46
|
+
end
|
47
|
+
should 'have correct nr values' do
|
48
|
+
assert_equal(14, @u.nr)
|
49
|
+
end
|
50
|
+
should 'have correct value for z' do
|
51
|
+
assert_in_delta(2.087, @u.z, 0.001)
|
52
|
+
end
|
53
|
+
should 'have correct value for probability_z' do
|
54
|
+
assert_in_delta(0.036, @u.probability_z, 0.001)
|
55
|
+
end
|
56
|
+
should 'have correct value for probability_exact' do
|
57
|
+
assert_in_delta(0.036, @u.probability_exact, 0.001)
|
58
|
+
end
|
59
|
+
should 'have summary' do
|
60
|
+
assert(@u.summary != '')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
67
64
|
end
|
data/test/test_xls.rb
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb'))
|
2
|
-
class StatsampleExcelTestCase <
|
3
|
-
context
|
4
|
-
setup do
|
5
|
-
@ds=Statsample::Excel.read(File.dirname(__FILE__)+
|
6
|
-
end
|
7
|
-
should
|
8
|
-
assert_equal(6
|
9
|
-
end
|
10
|
-
should
|
11
|
-
assert_equal(%w
|
12
|
-
end
|
13
|
-
should
|
14
|
-
id=[1,2,3,4,5,6].to_vector(:scale)
|
15
|
-
name=
|
16
|
-
age=[20,23,25,nil,5.5,nil].to_vector(:scale)
|
17
|
-
city=[
|
18
|
-
a1=[
|
19
|
-
ds_exp=Statsample::Dataset.new({'id'=>id,'name'=>name,'age'=>age,'city'=>city,'a1'=>a1}, %w
|
1
|
+
require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb'))
|
2
|
+
class StatsampleExcelTestCase < Minitest::Test
|
3
|
+
context 'Excel reader' do
|
4
|
+
setup do
|
5
|
+
@ds = Statsample::Excel.read(File.dirname(__FILE__) + '/fixtures/test_xls.xls')
|
6
|
+
end
|
7
|
+
should 'set the number of cases' do
|
8
|
+
assert_equal(6, @ds.cases)
|
9
|
+
end
|
10
|
+
should 'set correct field names' do
|
11
|
+
assert_equal(%w(id name age city a1), @ds.fields)
|
12
|
+
end
|
13
|
+
should 'set a dataset equal to expected' do
|
14
|
+
id = [1, 2, 3, 4, 5, 6].to_vector(:scale)
|
15
|
+
name = %w(Alex Claude Peter Franz George Fernand).to_vector(:nominal)
|
16
|
+
age = [20, 23, 25, nil, 5.5, nil].to_vector(:scale)
|
17
|
+
city = ['New York', 'London', 'London', 'Paris', 'Tome', nil].to_vector(:nominal)
|
18
|
+
a1 = ['a,b', 'b,c', 'a', nil, 'a,b,c', nil].to_vector(:nominal)
|
19
|
+
ds_exp = Statsample::Dataset.new({ 'id' => id, 'name' => name, 'age' => age, 'city' => city, 'a1' => a1 }, %w(id name age city a1))
|
20
20
|
ds_exp.fields.each{|f|
|
21
|
-
assert_equal(ds_exp[f]
|
21
|
+
assert_equal(ds_exp[f], @ds[f])
|
22
22
|
}
|
23
|
-
assert_equal(ds_exp
|
23
|
+
assert_equal(ds_exp, @ds)
|
24
24
|
end
|
25
|
-
should
|
26
|
-
assert_equal(nil
|
25
|
+
should 'set to nil empty cells' do
|
26
|
+
assert_equal(nil, @ds['age'][5])
|
27
27
|
end
|
28
28
|
end
|
29
|
-
context
|
30
|
-
setup do
|
31
|
-
a=100.times.map{rand(100)}.to_scale
|
32
|
-
b=([
|
33
|
-
@ds={'b'=>b, 'a'=>a}.to_dataset(%w
|
34
|
-
tempfile=Tempfile.new(
|
35
|
-
Statsample::Excel.write(@ds,tempfile.path)
|
36
|
-
@ds2=Statsample::Excel.read(tempfile.path)
|
37
|
-
end
|
38
|
-
should
|
39
|
-
assert_equal(@ds.fields
|
40
|
-
end
|
41
|
-
should
|
29
|
+
context 'Excel writer' do
|
30
|
+
setup do
|
31
|
+
a = 100.times.map { rand(100) }.to_scale
|
32
|
+
b = (['b'] * 100).to_vector
|
33
|
+
@ds = { 'b' => b, 'a' => a }.to_dataset(%w(b a))
|
34
|
+
tempfile = Tempfile.new('test_write.xls')
|
35
|
+
Statsample::Excel.write(@ds, tempfile.path)
|
36
|
+
@ds2 = Statsample::Excel.read(tempfile.path)
|
37
|
+
end
|
38
|
+
should 'return same fields as original' do
|
39
|
+
assert_equal(@ds.fields, @ds2.fields)
|
40
|
+
end
|
41
|
+
should 'return same number of cases as original' do
|
42
42
|
assert_equal(@ds.cases, @ds2.cases)
|
43
43
|
end
|
44
|
-
should
|
45
|
-
i=0
|
44
|
+
should 'return same cases as original' do
|
45
|
+
i = 0
|
46
46
|
@ds2.each_array do |row|
|
47
|
-
assert_equal(@ds.case_as_array(i),row)
|
48
|
-
i+=1
|
49
|
-
end
|
47
|
+
assert_equal(@ds.case_as_array(i), row)
|
48
|
+
i += 1
|
49
|
+
end
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statsample
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claudio Bustos
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-04-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: spreadsheet
|
@@ -412,6 +412,7 @@ files:
|
|
412
412
|
- test/fixtures/correlation_matrix.rb
|
413
413
|
- test/fixtures/hartman_23.matrix
|
414
414
|
- test/fixtures/repeated_fields.csv
|
415
|
+
- test/fixtures/scientific_notation.csv
|
415
416
|
- test/fixtures/stock_data.csv
|
416
417
|
- test/fixtures/test_csv.csv
|
417
418
|
- test/fixtures/test_xls.xls
|
@@ -457,7 +458,6 @@ files:
|
|
457
458
|
- test/test_vector.rb
|
458
459
|
- test/test_wilcoxonsignedrank.rb
|
459
460
|
- test/test_xls.rb
|
460
|
-
- web/Rakefile
|
461
461
|
homepage: https://github.com/sciruby/statsample
|
462
462
|
licenses: []
|
463
463
|
metadata: {}
|
@@ -490,8 +490,58 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
490
490
|
version: '0'
|
491
491
|
requirements: []
|
492
492
|
rubyforge_project:
|
493
|
-
rubygems_version: 2.
|
493
|
+
rubygems_version: 2.4.5
|
494
494
|
signing_key:
|
495
495
|
specification_version: 4
|
496
496
|
summary: A suite for basic and advanced statistics on Ruby
|
497
|
-
test_files:
|
497
|
+
test_files:
|
498
|
+
- test/fixtures/bank2.dat
|
499
|
+
- test/fixtures/correlation_matrix.rb
|
500
|
+
- test/fixtures/hartman_23.matrix
|
501
|
+
- test/fixtures/repeated_fields.csv
|
502
|
+
- test/fixtures/scientific_notation.csv
|
503
|
+
- test/fixtures/stock_data.csv
|
504
|
+
- test/fixtures/test_csv.csv
|
505
|
+
- test/fixtures/test_xls.xls
|
506
|
+
- test/fixtures/tetmat_matrix.txt
|
507
|
+
- test/fixtures/tetmat_test.txt
|
508
|
+
- test/helpers_tests.rb
|
509
|
+
- test/test_analysis.rb
|
510
|
+
- test/test_anova_contrast.rb
|
511
|
+
- test/test_anovaoneway.rb
|
512
|
+
- test/test_anovatwoway.rb
|
513
|
+
- test/test_anovatwowaywithdataset.rb
|
514
|
+
- test/test_anovawithvectors.rb
|
515
|
+
- test/test_awesome_print_bug.rb
|
516
|
+
- test/test_bartlettsphericity.rb
|
517
|
+
- test/test_bivariate.rb
|
518
|
+
- test/test_codification.rb
|
519
|
+
- test/test_crosstab.rb
|
520
|
+
- test/test_csv.rb
|
521
|
+
- test/test_dataset.rb
|
522
|
+
- test/test_dominance_analysis.rb
|
523
|
+
- test/test_factor.rb
|
524
|
+
- test/test_factor_map.rb
|
525
|
+
- test/test_factor_pa.rb
|
526
|
+
- test/test_ggobi.rb
|
527
|
+
- test/test_gsl.rb
|
528
|
+
- test/test_histogram.rb
|
529
|
+
- test/test_matrix.rb
|
530
|
+
- test/test_multiset.rb
|
531
|
+
- test/test_regression.rb
|
532
|
+
- test/test_reliability.rb
|
533
|
+
- test/test_reliability_icc.rb
|
534
|
+
- test/test_reliability_skillscale.rb
|
535
|
+
- test/test_resample.rb
|
536
|
+
- test/test_rserve_extension.rb
|
537
|
+
- test/test_srs.rb
|
538
|
+
- test/test_statistics.rb
|
539
|
+
- test/test_stest.rb
|
540
|
+
- test/test_stratified.rb
|
541
|
+
- test/test_test_f.rb
|
542
|
+
- test/test_test_kolmogorovsmirnov.rb
|
543
|
+
- test/test_test_t.rb
|
544
|
+
- test/test_umannwhitney.rb
|
545
|
+
- test/test_vector.rb
|
546
|
+
- test/test_wilcoxonsignedrank.rb
|
547
|
+
- test/test_xls.rb
|
data/web/Rakefile
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
require 'rake'
|
3
|
-
require 'fileutils'
|
4
|
-
directory "examples"
|
5
|
-
|
6
|
-
def get_base(f)
|
7
|
-
f.sub(File.dirname(__FILE__)+"/../examples/","").gsub("/","_").gsub(".rb","")
|
8
|
-
end
|
9
|
-
|
10
|
-
|
11
|
-
EXAMPLES=Dir.glob(File.dirname(__FILE__)+"/../examples/**/*.rb").map {|v| [v, get_base(v)]
|
12
|
-
}.find_all{|v| !v[0].include?"_data"}
|
13
|
-
|
14
|
-
EXAMPLES_BASE=EXAMPLES.map {|v| v[1]}
|
15
|
-
|
16
|
-
|
17
|
-
desc "Build all html, rtf and pdf files"
|
18
|
-
task :build_site do
|
19
|
-
ruby "build_site.rb"
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
task :clean do
|
24
|
-
Dir.glob(File.dirname(__FILE__)+"/examples/*.pdf").each do |t|
|
25
|
-
FileUtils.rm t
|
26
|
-
end
|
27
|
-
Dir.glob(File.dirname(__FILE__)+"/examples/*.html").each do |t|
|
28
|
-
FileUtils.rm t
|
29
|
-
end
|
30
|
-
Dir.glob(File.dirname(__FILE__)+"/examples/*.rtf").each do |t|
|
31
|
-
FileUtils.rm t
|
32
|
-
end
|
33
|
-
Dir.glob(File.dirname(__FILE__)+"/examples/images/*.*").each do |t|
|
34
|
-
FileUtils.rm t
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
load 'upload_task.rb' if File.exists? "upload_task.rb"
|