ministat 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +1 -1
- data/Manifest.txt +0 -7
- data/Rakefile +2 -1
- data/lib/ministat.rb +11 -3
- data/test/test_ministat.rb +7 -0
- metadata +71 -54
- metadata.gz.sig +0 -0
- data/package/History.txt +0 -5
- data/package/Manifest.txt +0 -7
- data/package/README.txt +0 -48
- data/package/Rakefile +0 -17
- data/package/bin/package +0 -0
- data/package/lib/package.rb +0 -3
- data/package/test/test_package.rb +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -4,13 +4,6 @@ README.txt
|
|
4
4
|
Rakefile
|
5
5
|
bin/ministat
|
6
6
|
lib/ministat.rb
|
7
|
-
package/History.txt
|
8
|
-
package/Manifest.txt
|
9
|
-
package/README.txt
|
10
|
-
package/Rakefile
|
11
|
-
package/bin/package
|
12
|
-
package/lib/package.rb
|
13
|
-
package/test/test_package.rb
|
14
7
|
test/data/1.dat
|
15
8
|
test/data/2.dat
|
16
9
|
test/test_ministat.rb
|
data/Rakefile
CHANGED
@@ -11,7 +11,8 @@ Hoe.new('ministat', MiniStat::VERSION) do |p|
|
|
11
11
|
p.summary = 'A small and simple library to generate statistical info on single-variable datasets.'
|
12
12
|
p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
|
13
13
|
p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
|
14
|
-
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
14
|
+
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
15
|
+
p.remote_rdoc_dir = ''
|
15
16
|
end
|
16
17
|
|
17
18
|
# vim: syntax=Ruby
|
data/lib/ministat.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'mathn'
|
2
2
|
|
3
3
|
module MiniStat
|
4
|
-
VERSION = '1.
|
4
|
+
VERSION = '1.1.0'
|
5
5
|
class Data
|
6
6
|
attr_reader :data
|
7
7
|
|
@@ -10,6 +10,14 @@ module MiniStat
|
|
10
10
|
@sorted = true
|
11
11
|
end
|
12
12
|
|
13
|
+
def <<(obj)
|
14
|
+
throw "#{obj.to_s} is not numeric" unless obj.to_f
|
15
|
+
@data << obj
|
16
|
+
# force computation!
|
17
|
+
@q1 = @q3 = @iqr = @outliers = @std_dev = @variance =
|
18
|
+
@mode = @harmonic_mean = @geometric_mean = nil
|
19
|
+
end
|
20
|
+
|
13
21
|
# Return the median of your dataset. Naive implementaion
|
14
22
|
# -- does a sort on the data.
|
15
23
|
def median(data=@data)
|
@@ -60,7 +68,7 @@ module MiniStat
|
|
60
68
|
|
61
69
|
# Computes arthmetic mean (most common average).
|
62
70
|
def mean(data=@data)
|
63
|
-
(data.inject(0) {|i,j| i += j}) / data.size
|
71
|
+
@mean = (data.inject(0) {|i,j| i += j}) / data.size
|
64
72
|
end
|
65
73
|
|
66
74
|
# Computes mode and a histogram.
|
@@ -124,4 +132,4 @@ module MiniStat
|
|
124
132
|
DATA_STR
|
125
133
|
end
|
126
134
|
end
|
127
|
-
end
|
135
|
+
end
|
data/test/test_ministat.rb
CHANGED
metadata
CHANGED
@@ -1,33 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: ministat
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
- lib
|
11
|
-
email: dean@ero.com
|
12
|
-
homepage: " by Dean Hudson"
|
13
|
-
rubyforge_project: ministat
|
14
|
-
description: "== FEATURES/PROBLEMS: * Pure Ruby * It's small and simple * It's probably good enough * I haven't profiled it against large data sets * Naive median implementation requires a sort, but it could be done in linear time. Patches welcome. * Missing tests for harmonic and geometric mean -- the stats package I was generating test data with didn't have them. == SYNOPSIS: require 'ministat' data = [1,2,3,4,5,6,7,7,6,5,4,4] puts MiniStat::Data.new(data).to_s"
|
4
|
+
version: 1.1.0
|
5
|
+
platform: ""
|
6
|
+
authors:
|
7
|
+
- Dean Hudson
|
15
8
|
autorequire:
|
16
|
-
default_executable:
|
17
9
|
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
25
|
-
platform: ruby
|
26
|
-
signing_key:
|
27
10
|
cert_chain:
|
28
|
-
|
29
|
-
|
30
|
-
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDJjCCAg6gAwIBAgIBADANBgkqhkiG9w0BAQUFADA5MQ0wCwYDVQQDDARkZWFu
|
14
|
+
MRMwEQYKCZImiZPyLGQBGRYDZXJvMRMwEQYKCZImiZPyLGQBGRYDY29tMB4XDTA3
|
15
|
+
MTExMTIxMDUyOFoXDTA4MTExMDIxMDUyOFowOTENMAsGA1UEAwwEZGVhbjETMBEG
|
16
|
+
CgmSJomT8ixkARkWA2VybzETMBEGCgmSJomT8ixkARkWA2NvbTCCASIwDQYJKoZI
|
17
|
+
hvcNAQEBBQADggEPADCCAQoCggEBALaFLGaIMK1QdFGuO8RfaYTiSwac2GHdEaMb
|
18
|
+
p9s8n0zf+tpRMY8NigtrEnJCEvUSMMRhQ1kfxxFYBNbzKh281utzxPmmP7kGFfRD
|
19
|
+
e9EW1ZTrDPC564ZEE15blpbMEi2aIwLc2BMajLkAm2szjQJcvknwnxzkKPI1qFTb
|
20
|
+
8EsDY0rJbgXv9agthbgeXCplg16LKxUKjBYvsEWyiE+DgogIMrgJ3nlR2MOCufLm
|
21
|
+
gIrhOH0+RUbhR6c8D+KMkb/ecMhuYJ4gK30C2013J7TM7cPj//9Rb0vrmFXzV3ce
|
22
|
+
qOESBIu1Ig2Ni9n/otr/bHvkKxdGU7SVeu3uvJX++iKfEMpDleUCAwEAAaM5MDcw
|
23
|
+
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFK/N1WFuLd0IX64NCuNS
|
24
|
+
EwukScaTMA0GCSqGSIb3DQEBBQUAA4IBAQAUNmyZYE62GPVkxZnrjH+rI3YkcTYK
|
25
|
+
fCWGy67mPo1utCKptzki7rHcpD0d6tlGKqBqkBis1HgIBSrxRV7oEK4UYvbd5jN3
|
26
|
+
yUoj670OYuNJpYNnX6Iutv3dEwpcK92zGhTxQqKEjhjvtLFCsQQ8kB2pD+luxPzL
|
27
|
+
XHfIWVfPxvVErhBKL2BulZoHJeR4af0ycfZjDAbIbuBoYtnyN6Ao8pI3fctd83DU
|
28
|
+
UkMkLYctGf1HBjckiVT2aIOnbMiq2ZbsjXZil3LUBifYtRXJFxphEH/PohNttnlh
|
29
|
+
0exsBRogOA9ZeNEwstSUQ4t1X3FLmOpayH1iM25aKmmaGbCeA6TVEd/5
|
30
|
+
-----END CERTIFICATE-----
|
31
|
+
|
32
|
+
date: 2008-01-08 00:00:00 -08:00
|
33
|
+
default_executable:
|
34
|
+
dependencies:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: hoe
|
37
|
+
version_requirement:
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.3.0
|
43
|
+
version:
|
44
|
+
description: "== FEATURES/PROBLEMS: * Pure Ruby * It's small and simple * It's probably good enough * I haven't profiled it against large data sets * Naive median implementation requires a sort, but it could be done in linear time. Patches welcome. * Missing tests for harmonic and geometric mean -- the stats package I was generating test data with didn't have them. == SYNOPSIS: require 'ministat' data = [1,2,3,4,5,6,7,7,6,5,4,4] puts MiniStat::Data.new(data).to_s"
|
45
|
+
email: dean@ero.com
|
46
|
+
executables:
|
47
|
+
- ministat
|
48
|
+
extensions: []
|
49
|
+
|
50
|
+
extra_rdoc_files:
|
51
|
+
- History.txt
|
52
|
+
- Manifest.txt
|
53
|
+
- README.txt
|
31
54
|
files:
|
32
55
|
- History.txt
|
33
56
|
- Manifest.txt
|
@@ -35,41 +58,35 @@ files:
|
|
35
58
|
- Rakefile
|
36
59
|
- bin/ministat
|
37
60
|
- lib/ministat.rb
|
38
|
-
- package/History.txt
|
39
|
-
- package/Manifest.txt
|
40
|
-
- package/README.txt
|
41
|
-
- package/Rakefile
|
42
|
-
- package/bin/package
|
43
|
-
- package/lib/package.rb
|
44
|
-
- package/test/test_package.rb
|
45
61
|
- test/data/1.dat
|
46
62
|
- test/data/2.dat
|
47
63
|
- test/test_ministat.rb
|
48
|
-
|
49
|
-
|
64
|
+
has_rdoc: true
|
65
|
+
homepage: " by Dean Hudson"
|
66
|
+
post_install_message:
|
50
67
|
rdoc_options:
|
51
68
|
- --main
|
52
69
|
- README.txt
|
53
|
-
|
54
|
-
-
|
55
|
-
|
56
|
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
70
|
+
require_paths:
|
71
|
+
- lib
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: "0"
|
77
|
+
version:
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: "0"
|
83
|
+
version:
|
64
84
|
requirements: []
|
65
85
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 1.3.0
|
75
|
-
version:
|
86
|
+
rubyforge_project: ministat
|
87
|
+
rubygems_version: 0.9.5
|
88
|
+
signing_key:
|
89
|
+
specification_version: 2
|
90
|
+
summary: A small and simple library to generate statistical info on single-variable datasets.
|
91
|
+
test_files:
|
92
|
+
- test/test_ministat.rb
|
metadata.gz.sig
ADDED
Binary file
|
data/package/History.txt
DELETED
data/package/Manifest.txt
DELETED
data/package/README.txt
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
package
|
2
|
-
by FIX (your name)
|
3
|
-
FIX (url)
|
4
|
-
|
5
|
-
== DESCRIPTION:
|
6
|
-
|
7
|
-
FIX (describe your package)
|
8
|
-
|
9
|
-
== FEATURES/PROBLEMS:
|
10
|
-
|
11
|
-
* FIX (list of features or problems)
|
12
|
-
|
13
|
-
== SYNOPSIS:
|
14
|
-
|
15
|
-
FIX (code sample of usage)
|
16
|
-
|
17
|
-
== REQUIREMENTS:
|
18
|
-
|
19
|
-
* FIX (list of requirements)
|
20
|
-
|
21
|
-
== INSTALL:
|
22
|
-
|
23
|
-
* FIX (sudo gem install, anything else)
|
24
|
-
|
25
|
-
== LICENSE:
|
26
|
-
|
27
|
-
(The MIT License)
|
28
|
-
|
29
|
-
Copyright (c) 2007 FIX
|
30
|
-
|
31
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
32
|
-
a copy of this software and associated documentation files (the
|
33
|
-
'Software'), to deal in the Software without restriction, including
|
34
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
35
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
36
|
-
permit persons to whom the Software is furnished to do so, subject to
|
37
|
-
the following conditions:
|
38
|
-
|
39
|
-
The above copyright notice and this permission notice shall be
|
40
|
-
included in all copies or substantial portions of the Software.
|
41
|
-
|
42
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
43
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
44
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
45
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
46
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
47
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
48
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/package/Rakefile
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'hoe'
|
5
|
-
require './lib/package.rb'
|
6
|
-
|
7
|
-
Hoe.new('package', Package::VERSION) do |p|
|
8
|
-
p.rubyforge_name = 'package'
|
9
|
-
# p.author = 'FIX'
|
10
|
-
# p.email = 'FIX'
|
11
|
-
# p.summary = 'FIX'
|
12
|
-
# p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
|
13
|
-
# p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
|
14
|
-
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
15
|
-
end
|
16
|
-
|
17
|
-
# vim: syntax=Ruby
|
data/package/bin/package
DELETED
File without changes
|
data/package/lib/package.rb
DELETED
File without changes
|