statsample 0.16.0 → 0.17.0
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 +0 -0
- data/History.txt +7 -0
- data/Manifest.txt +6 -4
- data/README.txt +5 -1
- data/Rakefile +1 -1
- data/examples/boxplot.rb +17 -0
- data/examples/dominance_analysis_bootstrap.rb +5 -0
- data/examples/histogram.rb +14 -0
- data/examples/scatterplot.rb +4 -3
- data/lib/distribution/normalbivariate.rb +1 -1
- data/lib/statsample.rb +16 -3
- data/lib/statsample/bivariate.rb +4 -2
- data/lib/statsample/converter/csv.rb +0 -2
- data/lib/statsample/converters.rb +13 -1
- data/lib/statsample/dataset.rb +23 -15
- data/lib/statsample/dominanceanalysis.rb +3 -2
- data/lib/statsample/dominanceanalysis/bootstrap.rb +2 -1
- data/lib/statsample/factor/parallelanalysis.rb +1 -1
- data/lib/statsample/factor/principalaxis.rb +1 -1
- data/lib/statsample/graph.rb +2 -0
- data/lib/statsample/graph/boxplot.rb +234 -0
- data/lib/statsample/graph/histogram.rb +133 -0
- data/lib/statsample/graph/scatterplot.rb +1 -9
- data/lib/statsample/histogram.rb +47 -11
- data/lib/statsample/mle.rb +4 -4
- data/lib/statsample/mle/normal.rb +3 -3
- data/lib/statsample/regression/multiple/baseengine.rb +1 -1
- data/lib/statsample/regression/multiple/gslengine.rb +0 -1
- data/lib/statsample/regression/multiple/matrixengine.rb +1 -1
- data/lib/statsample/reliability.rb +1 -0
- data/lib/statsample/reliability/scaleanalysis.rb +3 -51
- data/lib/statsample/reliability/skillscaleanalysis.rb +93 -0
- data/lib/statsample/srs.rb +1 -1
- data/lib/statsample/test/umannwhitney.rb +1 -1
- data/lib/statsample/vector.rb +13 -36
- data/test/test_factor.rb +1 -1
- data/test/test_ggobi.rb +0 -5
- data/test/test_histogram.rb +75 -18
- data/test/test_mle.rb +0 -44
- data/test/test_reliability_skillscale.rb +41 -0
- data/test/test_statistics.rb +3 -3
- data/test/test_stest.rb +2 -2
- data/test/test_vector.rb +13 -8
- metadata +36 -18
- metadata.gz.sig +0 -0
- data/lib/statsample/combination.rb +0 -114
- data/lib/statsample/permutation.rb +0 -98
- data/test/test_combination.rb +0 -37
- data/test/test_permutation.rb +0 -42
data/lib/statsample/srs.rb
CHANGED
@@ -62,7 +62,7 @@ module Statsample
|
|
62
62
|
# Uses estimated proportion, sample without replacement
|
63
63
|
|
64
64
|
def proportion_confidence_interval(p, sam,pop , x)
|
65
|
-
f=sam.quo(pop)
|
65
|
+
#f=sam.quo(pop)
|
66
66
|
one_range=x * Math::sqrt((qf(sam, pop) * p * (1-p)).quo(sam-1)) + (1.quo(sam * 2.0))
|
67
67
|
[p-one_range, p+one_range]
|
68
68
|
end
|
data/lib/statsample/vector.rb
CHANGED
@@ -154,12 +154,12 @@ module Statsample
|
|
154
154
|
end
|
155
155
|
|
156
156
|
def _dump(i) # :nodoc:
|
157
|
-
|
157
|
+
Marshal.dump({'data'=>@data,'missing_values'=>@missing_values, 'labels'=>@labels, 'type'=>@type,'name'=>@name})
|
158
158
|
end
|
159
159
|
|
160
160
|
def self._load(data) # :nodoc:
|
161
161
|
h=Marshal.load(data)
|
162
|
-
Vector.new(h['data'], h['type']
|
162
|
+
Vector.new(h['data'], h['type'], :missing_values=> h['missing_values'], :labels=>h['labels'], :name=>h['name'])
|
163
163
|
end
|
164
164
|
# Returns a new vector, with data modified by block.
|
165
165
|
# Equivalent to create a Vector after #collect on data
|
@@ -570,32 +570,6 @@ module Statsample
|
|
570
570
|
a
|
571
571
|
}
|
572
572
|
end
|
573
|
-
# Plot frequencies on a chart, using gnuplot
|
574
|
-
def plot_frequencies
|
575
|
-
require 'gnuplot'
|
576
|
-
x=[]
|
577
|
-
y=[]
|
578
|
-
self.frequencies.sort.each{|k,v|
|
579
|
-
x.push(k)
|
580
|
-
y.push(v)
|
581
|
-
}
|
582
|
-
Gnuplot.open do |gp|
|
583
|
-
Gnuplot::Plot.new( gp ) do |plot|
|
584
|
-
plot.boxwidth("0.9 absolute")
|
585
|
-
plot.yrange("[0:#{y.max}]")
|
586
|
-
plot.style("fill solid 1.00 border -1")
|
587
|
-
plot.set("xtics border in scale 1,0.5 nomirror rotate by -45 offset character 0, 0, 0")
|
588
|
-
plot.style("histogram")
|
589
|
-
plot.style("data histogram")
|
590
|
-
i=-1
|
591
|
-
plot.set("xtics","("+x.collect{|v| i+=1; sprintf("\"%s\" %d",v,i)}.join(",")+")")
|
592
|
-
plot.data << Gnuplot::DataSet.new( [y] ) do |ds|
|
593
|
-
end
|
594
|
-
end
|
595
|
-
end
|
596
|
-
|
597
|
-
end
|
598
|
-
|
599
573
|
|
600
574
|
# Returns the most frequent item.
|
601
575
|
def mode
|
@@ -878,21 +852,24 @@ module Statsample
|
|
878
852
|
|
879
853
|
if bins.is_a? Array
|
880
854
|
#h=Statsample::Histogram.new(self, bins)
|
881
|
-
h=
|
855
|
+
h=Statsample::Histogram.alloc(bins)
|
882
856
|
else
|
883
857
|
# ugly patch. The upper limit for a bin has the form
|
884
858
|
# x < range
|
885
859
|
#h=Statsample::Histogram.new(self, bins)
|
886
|
-
|
860
|
+
min,max=Statsample::Util.nice(@valid_data.min,@valid_data.max)
|
861
|
+
# fix last data
|
862
|
+
if max==@valid_data.max
|
863
|
+
max+=1e-10
|
864
|
+
end
|
865
|
+
h=Statsample::Histogram.alloc(bins,[min,max])
|
866
|
+
# Fix last bin
|
867
|
+
|
887
868
|
end
|
888
|
-
h.increment(@
|
869
|
+
h.increment(@valid_data)
|
889
870
|
h
|
890
871
|
end
|
891
|
-
|
892
|
-
check_type :scale
|
893
|
-
self.histogram(bins).graph(options)
|
894
|
-
end
|
895
|
-
|
872
|
+
|
896
873
|
end
|
897
874
|
|
898
875
|
# Coefficient of variation
|
data/test/test_factor.rb
CHANGED
@@ -72,7 +72,7 @@ class StatsampleFactorTestCase < MiniTest::Unit::TestCase
|
|
72
72
|
#puts pa.summary
|
73
73
|
end
|
74
74
|
def test_map
|
75
|
-
fields=%w{height arm.span forearm lower.leg weight bitro.diameter chest.girth chest.width}
|
75
|
+
#fields=%w{height arm.span forearm lower.leg weight bitro.diameter chest.girth chest.width}
|
76
76
|
m=Matrix[
|
77
77
|
[ 1, 0.846, 0.805, 0.859, 0.473, 0.398, 0.301, 0.382],
|
78
78
|
[ 0.846, 1, 0.881, 0.826, 0.376, 0.326, 0.277, 0.415],
|
data/test/test_ggobi.rb
CHANGED
@@ -31,9 +31,4 @@ class StatsampleGGobiTestCase < MiniTest::Unit::TestCase
|
|
31
31
|
assert_equal({'variable 2'=>{'a'=>1,'b'=>2,'c'=>3,'d'=>4}},carrier.conversions)
|
32
32
|
assert_equal(['variable 2'],carrier.categorials)
|
33
33
|
end
|
34
|
-
def test_out
|
35
|
-
filename="/tmp/test_statsample_ggobi.xml"
|
36
|
-
go=Statsample::GGobi.out(@ds)
|
37
|
-
|
38
|
-
end
|
39
34
|
end
|
data/test/test_histogram.rb
CHANGED
@@ -3,23 +3,80 @@ require(File.dirname(__FILE__)+'/helpers_tests.rb')
|
|
3
3
|
|
4
4
|
|
5
5
|
class StatsampleHistogramTestCase < MiniTest::Unit::TestCase
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
6
|
+
context Statsample::Histogram do
|
7
|
+
should "alloc correctly with integer" do
|
8
|
+
h = Statsample::Histogram.alloc(4)
|
9
|
+
assert_equal([0.0]*4, h.bin)
|
10
|
+
assert_equal([0.0]*5, h.range)
|
11
|
+
end
|
12
|
+
should "alloc correctly with array" do
|
13
|
+
h = Statsample::Histogram.alloc([1, 3, 7, 9, 20])
|
14
|
+
assert_equal([0.0]*4, h.bin)
|
15
|
+
assert_equal([1,3,7,9,20], h.range)
|
16
|
+
end
|
17
|
+
should "alloc correctly with integer and min, max array" do
|
18
|
+
h = Statsample::Histogram.alloc(5, [0, 5])
|
19
|
+
assert_equal([0.0,1.0,2.0,3.0,4.0,5.0], h.range)
|
20
|
+
assert_equal([0.0]*5,h.bin)
|
21
|
+
end
|
22
|
+
should "bin() method return correct number of bins" do
|
23
|
+
h = Statsample::Histogram.alloc(4)
|
24
|
+
assert_equal(4,h.bins)
|
25
|
+
end
|
26
|
+
should "increment correctly" do
|
27
|
+
h = Statsample::Histogram.alloc(5, [0, 5])
|
28
|
+
h.increment 2.5
|
29
|
+
assert_equal([0.0,0.0,1.0,0.0,0.0], h.bin)
|
30
|
+
h.increment [0.5,0.5,3.5,3.5]
|
31
|
+
assert_equal([2.0,0.0,1.0,2.0,0.0], h.bin)
|
32
|
+
h.increment 0
|
33
|
+
assert_equal([3.0,0.0,1.0,2.0,0.0], h.bin)
|
34
|
+
h.increment 5
|
35
|
+
assert_equal([3.0,0.0,1.0,2.0,0.0], h.bin)
|
36
|
+
end
|
37
|
+
|
38
|
+
should "alloc_uniform correctly with n, min,max" do
|
39
|
+
h = Statsample::Histogram.alloc_uniform(5,0,10)
|
40
|
+
assert_equal(5,h.bins)
|
41
|
+
assert_equal([0.0]*5,h.bin)
|
42
|
+
assert_equal([0.0,2.0,4.0,6.0,8.0,10.0], h.range)
|
43
|
+
end
|
44
|
+
should "alloc_uniform correctly with n, [min,max]" do
|
45
|
+
h = Statsample::Histogram.alloc_uniform(5, [0, 10])
|
46
|
+
assert_equal(5,h.bins)
|
47
|
+
assert_equal([0.0]*5,h.bin)
|
48
|
+
assert_equal([0.0,2.0,4.0,6.0,8.0,10.0], h.range)
|
49
|
+
end
|
50
|
+
should "get_range()" do
|
51
|
+
h = Statsample::Histogram.alloc_uniform(5,2,12)
|
52
|
+
5.times {|i|
|
53
|
+
assert_equal([2+i*2, 4+i*2], h.get_range(i))
|
54
|
+
}
|
55
|
+
end
|
56
|
+
should "min() and max()" do
|
57
|
+
h=Statsample::Histogram.alloc_uniform(5,2,12)
|
58
|
+
assert_equal(2,h.min)
|
59
|
+
assert_equal(12,h.max)
|
60
|
+
end
|
61
|
+
should "max_val()" do
|
62
|
+
h = Statsample::Histogram.alloc(5, [0, 5])
|
63
|
+
100.times {h.increment(rand*5)}
|
64
|
+
max=h.bin[0]
|
65
|
+
(1..4).each {|i|
|
66
|
+
max = h.bin[i] if h.bin[i] > max
|
67
|
+
}
|
68
|
+
assert_equal(max,h.max_val)
|
69
|
+
end
|
70
|
+
should "min_val()" do
|
71
|
+
h = Statsample::Histogram.alloc(5, [0, 5])
|
72
|
+
100.times {h.increment(rand*5)}
|
73
|
+
min=h.bin[0]
|
74
|
+
(1..4).each {|i|
|
75
|
+
min = h.bin[i] if h.bin[i]<min
|
76
|
+
}
|
77
|
+
assert_equal(min,h.min_val)
|
78
|
+
end
|
79
|
+
|
80
|
+
|
24
81
|
end
|
25
82
|
end
|
data/test/test_mle.rb
CHANGED
@@ -91,49 +91,5 @@ class StatsampleMLETestCase < MiniTest::Unit::TestCase
|
|
91
91
|
}
|
92
92
|
assert_equal(5,mle.iterations)
|
93
93
|
end
|
94
|
-
def atest_logit_alglib
|
95
|
-
if(HAS_ALGIB)
|
96
|
-
ds=Statsample::CSV.read(@file_binomial)
|
97
|
-
constant=([1.0]*ds.cases).to_vector(:scale)
|
98
|
-
|
99
|
-
ds_indep={'constant'=>constant, 'a'=>ds['a'],'b'=>ds['b'], 'c'=>ds['c']}.to_dataset(%w{constant a b c} )
|
100
|
-
|
101
|
-
mat_x=ds_indep.to_matrix
|
102
|
-
mat_y=ds['y'].to_matrix(:vertical)
|
103
|
-
log=Alglib::Logit.build_from_matrix(ds.to_matrix)
|
104
|
-
coeffs=log.unpack[0]
|
105
|
-
b_alglib=Matrix.columns([[-coeffs[3], -coeffs[0], -coeffs[1], -coeffs[2]]])
|
106
|
-
mle=Statsample::MLE::Logit.new
|
107
|
-
ll_alglib=mle.log_likehood(mat_x,mat_y,b_alglib)
|
108
|
-
b_newton=mle.newton_raphson(mat_x,mat_y)
|
109
|
-
ll_pure_ruby=mle.log_likehood(mat_x,mat_y,b_newton)
|
110
|
-
#p b_alglib
|
111
|
-
#p b_newton
|
112
|
-
|
113
|
-
assert_in_delta(ll_alglib,ll_pure_ruby,1)
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
117
|
-
def atest_logit1
|
118
|
-
log=Alglib::Logit.build_from_matrix(@ds.to_matrix)
|
119
|
-
coeffs=log.unpack[0]
|
120
|
-
b=Matrix.columns([[-coeffs[3],-coeffs[0],-coeffs[1],-coeffs[2]]])
|
121
|
-
# puts "Coeficientes beta alglib:"
|
122
|
-
#p b
|
123
|
-
mle_alglib=Statsample::MLE::ln_mle(Statsample::MLE::Logit, @mat_x,@mat_y,b)
|
124
|
-
# puts "MLE Alglib:"
|
125
|
-
#p mle_alglib
|
126
|
-
# Statsample::CSV.write(ds,"test_binomial.csv")
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
# puts "iniciando newton"
|
131
|
-
coeffs_nr=Statsample::MLE.newton_raphson(@mat_x,@mat_y, Statsample::MLE::Logit)
|
132
|
-
#p coeffs_nr
|
133
|
-
mle_pure_ruby=Statsample::MLE::ln_mle(Statsample::MLE::Logit, @mat_x,@mat_y,coeffs_nr)
|
134
|
-
#p mle_pure_ruby
|
135
|
-
|
136
|
-
#puts "Malo: #{mle_malo} Bueno: #{mle_bueno} : #{mle_malo-mle_bueno}"
|
137
|
-
end
|
138
94
|
end
|
139
95
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
$reliability_icc=nil
|
2
|
+
require(File.dirname(__FILE__)+'/helpers_tests.rb')
|
3
|
+
class StatsampleReliabilitySkillScaleTestCase < MiniTest::Unit::TestCase
|
4
|
+
context Statsample::Reliability::SkillScaleAnalysis do
|
5
|
+
setup do
|
6
|
+
options=%w{a b c d e}
|
7
|
+
cases=20
|
8
|
+
@id=cases.times.map {|v| v}.to_scale
|
9
|
+
@a=cases.times.map {options[rand(5)]}.to_vector
|
10
|
+
@b=cases.times.map {options[rand(5)]}.to_vector
|
11
|
+
@c=cases.times.map {options[rand(5)]}.to_vector
|
12
|
+
@d=cases.times.map {options[rand(5)]}.to_vector
|
13
|
+
@e=cases.times.map {rand()>0.8 ? nil : options[rand(5)]}.to_vector
|
14
|
+
@ds={'id'=>@id,'a'=>@a,'b'=>@b,'c'=>@c,'d'=>@d,'e'=>@e}.to_dataset
|
15
|
+
@key={'a'=>options[rand(5)], 'b'=>options[rand(5)], 'c'=>options[rand(5)], 'd'=>options[rand(5)],'e'=>options[rand(5)]}
|
16
|
+
@ssa=Statsample::Reliability::SkillScaleAnalysis.new(@ds, @key)
|
17
|
+
@ac=@a.map {|v| v==@key['a'] ? 1 : 0}.to_scale
|
18
|
+
@bc=@b.map {|v| v==@key['b'] ? 1 : 0}.to_scale
|
19
|
+
@cc=@c.map {|v| v==@key['c'] ? 1 : 0}.to_scale
|
20
|
+
@dc=@d.map {|v| v==@key['d'] ? 1 : 0}.to_scale
|
21
|
+
@ec=@e.map {|v| v.nil? ? nil : (v==@key['e'] ? 1 : 0)}.to_scale
|
22
|
+
|
23
|
+
end
|
24
|
+
should "return proper corrected dataset" do
|
25
|
+
cds={'id'=>@id, 'a'=>@ac,'b'=>@bc,'c'=>@cc,'d'=>@dc, 'e'=>@ec}.to_dataset
|
26
|
+
assert_equal(cds, @ssa.corrected_dataset)
|
27
|
+
end
|
28
|
+
should "return proper corrected minimal dataset" do
|
29
|
+
cdsm={'a'=>@ac,'b'=>@bc,'c'=>@cc,'d'=>@dc, 'e'=>@ec}.to_dataset
|
30
|
+
assert_equal(cdsm, @ssa.corrected_dataset_minimal)
|
31
|
+
end
|
32
|
+
should "return correct vector_sum and vector_sum" do
|
33
|
+
cdsm=@ssa.corrected_dataset_minimal
|
34
|
+
assert_equal(cdsm.vector_sum, @ssa.vector_sum)
|
35
|
+
assert_equal(cdsm.vector_mean, @ssa.vector_mean)
|
36
|
+
end
|
37
|
+
should "return valid summary" do
|
38
|
+
assert(@ssa.summary.size>0)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/test/test_statistics.rb
CHANGED
@@ -35,7 +35,7 @@ class StatsampleStatisicsTestCase < MiniTest::Unit::TestCase
|
|
35
35
|
v=([42]*23+[41]*4+[36]*1+[32]*1+[29]*1+[27]*2+[23]*1+[19]*1+[16]*2+[15]*2+[14,11,10,9,7]+ [6]*3+[5]*2+[4,3]).to_vector(:scale)
|
36
36
|
assert_equal(50,v.size)
|
37
37
|
assert_equal(1471,v.sum())
|
38
|
-
limits=Statsample::SRS.mean_confidence_interval_z(v.mean(), v.sds(), v.size,676,0.80)
|
38
|
+
#limits=Statsample::SRS.mean_confidence_interval_z(v.mean(), v.sds(), v.size,676,0.80)
|
39
39
|
end
|
40
40
|
def test_estimation_proportion
|
41
41
|
# total
|
@@ -55,9 +55,9 @@ class StatsampleStatisicsTestCase < MiniTest::Unit::TestCase
|
|
55
55
|
end
|
56
56
|
def test_ml
|
57
57
|
if(true)
|
58
|
-
real=[1,1,1,1].to_vector(:scale)
|
58
|
+
#real=[1,1,1,1].to_vector(:scale)
|
59
59
|
|
60
|
-
pred=[0.0001,0.0001,0.0001,0.0001].to_vector(:scale)
|
60
|
+
#pred=[0.0001,0.0001,0.0001,0.0001].to_vector(:scale)
|
61
61
|
# puts Statsample::Bivariate.maximum_likehood_dichotomic(pred,real)
|
62
62
|
|
63
63
|
end
|
data/test/test_stest.rb
CHANGED
@@ -6,7 +6,7 @@ class StatsampleTestTestCase < MiniTest::Unit::TestCase
|
|
6
6
|
real=Matrix[[95,95],[45,155]]
|
7
7
|
expected=Matrix[[68,122],[72,128]]
|
8
8
|
assert_nothing_raised do
|
9
|
-
|
9
|
+
Statsample::Test.chi_square(real,expected)
|
10
10
|
end
|
11
11
|
chi=Statsample::Test.chi_square(real,expected).chi_square
|
12
12
|
assert_in_delta(32.53,chi,0.1)
|
@@ -15,7 +15,7 @@ class StatsampleTestTestCase < MiniTest::Unit::TestCase
|
|
15
15
|
def test_chi_square_matrix_only_observed
|
16
16
|
observed=Matrix[[20,30,40],[30,40,50],[60,70,80],[10,20,40]]
|
17
17
|
assert_nothing_raised do
|
18
|
-
|
18
|
+
Statsample::Test.chi_square(observed)
|
19
19
|
end
|
20
20
|
chi=Statsample::Test.chi_square(observed)
|
21
21
|
assert_in_delta(9.5602, chi.chi_square, 0.0001)
|
data/test/test_vector.rb
CHANGED
@@ -126,7 +126,15 @@ class StatsampleTestVector < MiniTest::Unit::TestCase
|
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
129
|
-
|
129
|
+
should "return correct histogram" do
|
130
|
+
a=10.times.map {|v| v}.to_scale
|
131
|
+
hist=a.histogram(2)
|
132
|
+
assert_equal([5,5], hist.bin)
|
133
|
+
3.times do |i|
|
134
|
+
assert_in_delta(i*4.5, hist.get_range(i)[0], 1e-9)
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
130
138
|
should "have a name" do
|
131
139
|
@c.name=="Test Vector"
|
132
140
|
end
|
@@ -197,15 +205,12 @@ class StatsampleTestVector < MiniTest::Unit::TestCase
|
|
197
205
|
assert_equal(e,h)
|
198
206
|
end
|
199
207
|
should "have a summary with name on it" do
|
200
|
-
|
201
208
|
assert_match(/#{@c.name}/, @c.summary)
|
202
209
|
end
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
a = Statsample::Vector.new(["a","a,b","c,d","a,d","d",10,nil],:nominal)
|
208
|
-
assert_equal([%w{a},%w{a b},%w{c d},%w{a d},%w{d},[10],nil], a.splitted)
|
210
|
+
should "split correctly" do
|
211
|
+
a = Statsample::Vector.new(["a","a,b","c,d","a,d","d",10,nil],:nominal)
|
212
|
+
assert_equal([%w{a},%w{a b},%w{c d},%w{a d},%w{d},[10],nil], a.splitted)
|
213
|
+
end
|
209
214
|
end
|
210
215
|
|
211
216
|
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statsample
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 91
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
+
- 17
|
8
9
|
- 0
|
9
|
-
version: 0.
|
10
|
+
version: 0.17.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Claudio Bustos
|
@@ -35,7 +36,7 @@ cert_chain:
|
|
35
36
|
rpP0jjs0
|
36
37
|
-----END CERTIFICATE-----
|
37
38
|
|
38
|
-
date: 2010-
|
39
|
+
date: 2010-12-09 00:00:00 -03:00
|
39
40
|
default_executable:
|
40
41
|
dependencies:
|
41
42
|
- !ruby/object:Gem::Dependency
|
@@ -46,6 +47,7 @@ dependencies:
|
|
46
47
|
requirements:
|
47
48
|
- - ~>
|
48
49
|
- !ruby/object:Gem::Version
|
50
|
+
hash: 7
|
49
51
|
segments:
|
50
52
|
- 0
|
51
53
|
- 6
|
@@ -61,10 +63,11 @@ dependencies:
|
|
61
63
|
requirements:
|
62
64
|
- - ~>
|
63
65
|
- !ruby/object:Gem::Version
|
66
|
+
hash: 7
|
64
67
|
segments:
|
65
68
|
- 1
|
66
|
-
-
|
67
|
-
version: "1.
|
69
|
+
- 4
|
70
|
+
version: "1.4"
|
68
71
|
type: :runtime
|
69
72
|
version_requirements: *id002
|
70
73
|
- !ruby/object:Gem::Dependency
|
@@ -75,6 +78,7 @@ dependencies:
|
|
75
78
|
requirements:
|
76
79
|
- - ~>
|
77
80
|
- !ruby/object:Gem::Version
|
81
|
+
hash: 23
|
78
82
|
segments:
|
79
83
|
- 0
|
80
84
|
- 2
|
@@ -88,8 +92,9 @@ dependencies:
|
|
88
92
|
requirement: &id004 !ruby/object:Gem::Requirement
|
89
93
|
none: false
|
90
94
|
requirements:
|
91
|
-
- - "
|
95
|
+
- - ">"
|
92
96
|
- !ruby/object:Gem::Version
|
97
|
+
hash: 3
|
93
98
|
segments:
|
94
99
|
- 0
|
95
100
|
version: "0"
|
@@ -103,6 +108,7 @@ dependencies:
|
|
103
108
|
requirements:
|
104
109
|
- - ~>
|
105
110
|
- !ruby/object:Gem::Version
|
111
|
+
hash: 11
|
106
112
|
segments:
|
107
113
|
- 0
|
108
114
|
- 0
|
@@ -117,6 +123,7 @@ dependencies:
|
|
117
123
|
requirements:
|
118
124
|
- - ~>
|
119
125
|
- !ruby/object:Gem::Version
|
126
|
+
hash: 17
|
120
127
|
segments:
|
121
128
|
- 0
|
122
129
|
- 3
|
@@ -132,6 +139,7 @@ dependencies:
|
|
132
139
|
requirements:
|
133
140
|
- - ">"
|
134
141
|
- !ruby/object:Gem::Version
|
142
|
+
hash: 3
|
135
143
|
segments:
|
136
144
|
- 0
|
137
145
|
version: "0"
|
@@ -145,6 +153,7 @@ dependencies:
|
|
145
153
|
requirements:
|
146
154
|
- - ~>
|
147
155
|
- !ruby/object:Gem::Version
|
156
|
+
hash: 29
|
148
157
|
segments:
|
149
158
|
- 0
|
150
159
|
- 2
|
@@ -160,11 +169,12 @@ dependencies:
|
|
160
169
|
requirements:
|
161
170
|
- - ~>
|
162
171
|
- !ruby/object:Gem::Version
|
172
|
+
hash: 21
|
163
173
|
segments:
|
164
174
|
- 0
|
165
|
-
-
|
166
|
-
-
|
167
|
-
version: 0.
|
175
|
+
- 3
|
176
|
+
- 3
|
177
|
+
version: 0.3.3
|
168
178
|
type: :runtime
|
169
179
|
version_requirements: *id009
|
170
180
|
- !ruby/object:Gem::Dependency
|
@@ -175,6 +185,7 @@ dependencies:
|
|
175
185
|
requirements:
|
176
186
|
- - ">="
|
177
187
|
- !ruby/object:Gem::Version
|
188
|
+
hash: 7
|
178
189
|
segments:
|
179
190
|
- 2
|
180
191
|
- 0
|
@@ -190,6 +201,7 @@ dependencies:
|
|
190
201
|
requirements:
|
191
202
|
- - ">="
|
192
203
|
- !ruby/object:Gem::Version
|
204
|
+
hash: 3
|
193
205
|
segments:
|
194
206
|
- 0
|
195
207
|
version: "0"
|
@@ -203,6 +215,7 @@ dependencies:
|
|
203
215
|
requirements:
|
204
216
|
- - ~>
|
205
217
|
- !ruby/object:Gem::Version
|
218
|
+
hash: 3
|
206
219
|
segments:
|
207
220
|
- 2
|
208
221
|
- 0
|
@@ -217,11 +230,12 @@ dependencies:
|
|
217
230
|
requirements:
|
218
231
|
- - ">="
|
219
232
|
- !ruby/object:Gem::Version
|
233
|
+
hash: 19
|
220
234
|
segments:
|
221
235
|
- 2
|
222
|
-
-
|
223
|
-
-
|
224
|
-
version: 2.
|
236
|
+
- 7
|
237
|
+
- 0
|
238
|
+
version: 2.7.0
|
225
239
|
type: :development
|
226
240
|
version_requirements: *id013
|
227
241
|
description: |-
|
@@ -241,6 +255,7 @@ description: |-
|
|
241
255
|
* Sample calculation related formulas
|
242
256
|
* Structural Equation Modeling (SEM), using R libraries +sem+ and +OpenMx+
|
243
257
|
* Creates reports on text, html and rtf, using ReportBuilder gem
|
258
|
+
* Graphics: Histogram, Boxplot and Scatterplot
|
244
259
|
email:
|
245
260
|
- clbustos@gmail.com
|
246
261
|
executables:
|
@@ -268,10 +283,12 @@ files:
|
|
268
283
|
- data/tetmat_matrix.txt
|
269
284
|
- data/tetmat_test.txt
|
270
285
|
- doc_latex/manual/equations.tex
|
286
|
+
- examples/boxplot.rb
|
271
287
|
- examples/correlation_matrix.rb
|
272
288
|
- examples/dataset.rb
|
273
289
|
- examples/dominance_analysis.rb
|
274
290
|
- examples/dominance_analysis_bootstrap.rb
|
291
|
+
- examples/histogram.rb
|
275
292
|
- examples/icc.rb
|
276
293
|
- examples/levene.rb
|
277
294
|
- examples/multiple_regression.rb
|
@@ -303,7 +320,6 @@ files:
|
|
303
320
|
- lib/statsample/bivariate.rb
|
304
321
|
- lib/statsample/bivariate/pearson.rb
|
305
322
|
- lib/statsample/codification.rb
|
306
|
-
- lib/statsample/combination.rb
|
307
323
|
- lib/statsample/converter/csv.rb
|
308
324
|
- lib/statsample/converter/spss.rb
|
309
325
|
- lib/statsample/converters.rb
|
@@ -318,6 +334,8 @@ files:
|
|
318
334
|
- lib/statsample/factor/principalaxis.rb
|
319
335
|
- lib/statsample/factor/rotation.rb
|
320
336
|
- lib/statsample/graph.rb
|
337
|
+
- lib/statsample/graph/boxplot.rb
|
338
|
+
- lib/statsample/graph/histogram.rb
|
321
339
|
- lib/statsample/graph/scatterplot.rb
|
322
340
|
- lib/statsample/histogram.rb
|
323
341
|
- lib/statsample/matrix.rb
|
@@ -326,7 +344,6 @@ files:
|
|
326
344
|
- lib/statsample/mle/normal.rb
|
327
345
|
- lib/statsample/mle/probit.rb
|
328
346
|
- lib/statsample/multiset.rb
|
329
|
-
- lib/statsample/permutation.rb
|
330
347
|
- lib/statsample/regression.rb
|
331
348
|
- lib/statsample/regression/binomial.rb
|
332
349
|
- lib/statsample/regression/binomial/logit.rb
|
@@ -342,6 +359,7 @@ files:
|
|
342
359
|
- lib/statsample/reliability/icc.rb
|
343
360
|
- lib/statsample/reliability/multiscaleanalysis.rb
|
344
361
|
- lib/statsample/reliability/scaleanalysis.rb
|
362
|
+
- lib/statsample/reliability/skillscaleanalysis.rb
|
345
363
|
- lib/statsample/resample.rb
|
346
364
|
- lib/statsample/rserve_extension.rb
|
347
365
|
- lib/statsample/srs.rb
|
@@ -367,7 +385,6 @@ files:
|
|
367
385
|
- test/test_bartlettsphericity.rb
|
368
386
|
- test/test_bivariate.rb
|
369
387
|
- test/test_codification.rb
|
370
|
-
- test/test_combination.rb
|
371
388
|
- test/test_crosstab.rb
|
372
389
|
- test/test_csv.csv
|
373
390
|
- test/test_csv.rb
|
@@ -382,10 +399,10 @@ files:
|
|
382
399
|
- test/test_matrix.rb
|
383
400
|
- test/test_mle.rb
|
384
401
|
- test/test_multiset.rb
|
385
|
-
- test/test_permutation.rb
|
386
402
|
- test/test_regression.rb
|
387
403
|
- test/test_reliability.rb
|
388
404
|
- test/test_reliability_icc.rb
|
405
|
+
- test/test_reliability_skillscale.rb
|
389
406
|
- test/test_resample.rb
|
390
407
|
- test/test_rserve_extension.rb
|
391
408
|
- test/test_srs.rb
|
@@ -431,6 +448,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
431
448
|
requirements:
|
432
449
|
- - ">="
|
433
450
|
- !ruby/object:Gem::Version
|
451
|
+
hash: 3
|
434
452
|
segments:
|
435
453
|
- 0
|
436
454
|
version: "0"
|
@@ -439,6 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
439
457
|
requirements:
|
440
458
|
- - ">="
|
441
459
|
- !ruby/object:Gem::Version
|
460
|
+
hash: 3
|
442
461
|
segments:
|
443
462
|
- 0
|
444
463
|
version: "0"
|
@@ -453,7 +472,6 @@ test_files:
|
|
453
472
|
- test/test_bivariate.rb
|
454
473
|
- test/test_dominance_analysis.rb
|
455
474
|
- test/test_factor.rb
|
456
|
-
- test/test_permutation.rb
|
457
475
|
- test/test_codification.rb
|
458
476
|
- test/test_anovatwowaywithdataset.rb
|
459
477
|
- test/test_umannwhitney.rb
|
@@ -464,7 +482,6 @@ test_files:
|
|
464
482
|
- test/test_csv.rb
|
465
483
|
- test/test_matrix.rb
|
466
484
|
- test/test_gsl.rb
|
467
|
-
- test/test_combination.rb
|
468
485
|
- test/test_bartlettsphericity.rb
|
469
486
|
- test/test_mle.rb
|
470
487
|
- test/test_resample.rb
|
@@ -485,4 +502,5 @@ test_files:
|
|
485
502
|
- test/test_dataset.rb
|
486
503
|
- test/test_regression.rb
|
487
504
|
- test/test_multiset.rb
|
505
|
+
- test/test_reliability_skillscale.rb
|
488
506
|
- test/test_anovaoneway.rb
|