statsample 2.0.0 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 244a3b640d29832affc12304a77aa447f4f2df0d
4
- data.tar.gz: 08261176b4763367e65036c486e699491e209e7d
3
+ metadata.gz: ad9180f3e25cf0cc125d1e4a0e534b89bdaf4c11
4
+ data.tar.gz: cd72f54dcbf15cdf6413daf54551c8b9820d50fd
5
5
  SHA512:
6
- metadata.gz: 125beac1e267c030c6d4b70b84543a7888f3b8fcb43e6475913b00f7332dd5ce01bb6330813c3c99f5d649add677a339dc8ef366b466f2710aeaaf4bf20c0cdf
7
- data.tar.gz: 402c505e62785e2f1eacb28b8798fed26193ed54171f7dce2a106584800ffd3de657013559c55df9e20fe5827fe6309c53f526213fc9ec23bfa2a95bf086d38e
6
+ metadata.gz: a001eb384addd6ed71907135a89dd72adaab3b062925fbdeb2b86ec8070cc227c0b9da2be6d4143266091b4e020d37603dbf9b9e2965a410bbac1c8d58fbf4e4
7
+ data.tar.gz: 2069ae723e70c28a00b0f058aac934ff3894792c3cb5d5467efdcc371f28dac9e52c41ea4b0be6410c9a69c58b3c305fbbca1ddb4ded6bc603d274769e128f4f
@@ -1,3 +1,6 @@
1
+ === 2.0.1 / 2015-08-19
2
+ * Cleaned legacy containers in favor of `Daru::DataFrame` and `Daru::Vector`.
3
+
1
4
  === 2.0.0 / 2015-06-20
2
5
  * Added dependency on daru and replaced Statsample::Vector and Dataset with
3
6
  Daru::Vector and Daru::DataFrame.
@@ -59,8 +59,8 @@ module Daru
59
59
  to_multiset_by_split_multiple_fields(*vecs)
60
60
  end
61
61
  end
62
+
62
63
  # Creates a Statsample::Multiset, using one field
63
-
64
64
  def to_multiset_by_split_one_field(field)
65
65
  raise ArgumentError,"Should use a correct field name" if
66
66
  !@vectors.include? field
@@ -3,132 +3,8 @@ require 'statsample/vector'
3
3
  class Hash
4
4
  # Creates a Statsample::Dataset based on a Hash
5
5
  def to_dataframe(*args)
6
- Statsample::Dataset.new(self, *args)
6
+ Daru::DataFrame.new(self, *args)
7
7
  end
8
8
 
9
9
  alias :to_dataset :to_dataframe
10
10
  end
11
-
12
- class Array
13
- def prefix(s) # :nodoc:
14
- self.collect{|c| s+c.to_s }
15
- end
16
- def suffix(s) # :nodoc:
17
- self.collect{|c| c.to_s+s }
18
- end
19
- end
20
-
21
- module Statsample
22
- # == Deprecation Warning
23
- #
24
- # This class will soon be replaced by Daru::DataFrame in the
25
- # next release. Please see the daru docs at https://github.com/v0dro/daru
26
- # for more details
27
- class Dataset < Daru::DataFrame
28
- # Ordered ids of vectors
29
- def fields
30
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#vectors.\n"
31
- @vectors.to_a
32
- end
33
-
34
- def name= new_name
35
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#rename.\n"
36
-
37
- rename new_name
38
- end
39
- # Number of cases
40
- def cases
41
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#nrows.\n"
42
-
43
- nrows
44
- end
45
-
46
- # == Deprecation Warning
47
- #
48
- # This class will soon be replaced by Daru::DataFrame in the
49
- # next release. Use Daru::DataFrame.crosstab_by_assignation
50
- # for the same effect. Please see the daru docs at
51
- # https://github.com/v0dro/daru for more details.
52
- def self.crosstab_by_assignation(rows,columns,values)
53
- ds = super(rows, columns, values)
54
- Dataset.new ds.to_hash
55
- end
56
-
57
- # == Deprecation Warning
58
- #
59
- # This class will soon be replaced by Daru::DataFrame in the
60
- # next release. Use Daru::DataFrame.new for the same effect.
61
- # Please see the daru docs at https://github.com/v0dro/daru for more details.
62
- def initialize(vectors={}, fields=[])
63
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n"
64
-
65
- if vectors.instance_of? Array
66
- @fields=vectors.dup
67
- super({}, order: @fields.map { |e| e.respond_to?(:to_sym) ? e.to_sym : e })
68
- else
69
- # Check vectors
70
- @vectors = {}
71
- vectors.each do |k,v|
72
- @vectors[k.respond_to?(:to_sym) ? k.to_sym : k] = v
73
- end
74
- @fields = fields
75
- super @vectors, order: @fields.map { |e| e.respond_to?(:to_sym) ? e.to_sym : e }
76
- end
77
- end
78
-
79
- def from_to(from,to)
80
- raise NoMethodError, "This method is no longer supported. To see the vector index use Daru::DataFrame#vectors"
81
- end
82
-
83
- def add_vector(name, vector)
84
- raise NoMethodError, "Deprecated. Use Daru::DataFrame#[]= directly."
85
- end
86
-
87
- def add_case_array(v)
88
- raise NoMethodError, "Deprecated. Use Daru::DataFrame#add_row instead."
89
- end
90
-
91
- def add_case(v,uvd=true)
92
- raise NoMethodError, "Deprecated. Use Daru::DataFrame#add_row instead."
93
- end
94
-
95
- def update_valid_data
96
- raise NoMethodError, "Deprecated. Use Daru::DataFrame#update instead. Also see Daru.lazy_update in the daru docs."
97
- end
98
-
99
- def each_array
100
- raise NoMethodError, "Deprecated. Use Daru::DataFrame#each_row instead."
101
- end
102
-
103
- def fields=(f)
104
- $stderr.puts "WARNING: Deprecated. Use Daru::DataFrame#reindex_vectors! instead.\n"
105
-
106
- reindex_vectors! f
107
- end
108
-
109
- # Returns the vector named i
110
- def [](i)
111
- $stderr.puts "WARNING: Daru uses symbols instead of strings for naming vectors. Please switch to symbols.\n"
112
-
113
- if i.is_a? Range
114
- beg = i.begin.respond_to?(:to_sym) ? i.to_sym : i
115
- en = i.end.respond_to?(:to_sym) ? i.to_sym : i
116
- super(beg..en)
117
- else
118
- super i.to_sym
119
- end
120
- end
121
-
122
- def []=(i,v)
123
- $stderr.puts "WARNING: Daru uses symbols instead of strings for naming vectors. Please switch to symbols.\n"
124
-
125
- super i, v
126
- end
127
-
128
- if Statsample.has_gsl?
129
- def clear_gsl
130
- raise NoMethodError, "This method is no longer needed/supported."
131
- end
132
- end
133
- end
134
- end
@@ -43,8 +43,7 @@ module Statsample
43
43
  end
44
44
 
45
45
  @fields.each do |f|
46
- union_field[f] = Daru::Vector.new(union_field[f])
47
- union_field[f].rename names[f]
46
+ union_field[f] = Daru::Vector.new(union_field[f], name: names[f])
48
47
  end
49
48
 
50
49
  ds_union = Daru::DataFrame.new(union_field, order: @fields)
@@ -2,17 +2,7 @@ module Statsample::VectorShorthands
2
2
  # Creates a new Statsample::Vector object
3
3
  # Argument should be equal to Vector.new
4
4
  def to_vector(*args)
5
- Statsample::Vector.new(self)
6
- end
7
-
8
- # Creates a new Daru::Vector object of type :scale.
9
- # Deprecated. Use to_numeric instead.
10
- def to_scale(*args)
11
- Statsample::Vector.new(self, *args)
12
- end
13
-
14
- def to_numeric(*args)
15
- Statsample::Vector.new(self)
5
+ Daru::Vector.new(self)
16
6
  end
17
7
  end
18
8
 
@@ -27,126 +17,3 @@ if Statsample.has_gsl?
27
17
  end
28
18
  end
29
19
  end
30
- module Statsample
31
-
32
-
33
- # Collection of values on one dimension. Works as a column on a Spreadsheet.
34
- #
35
- # == Usage
36
- # The fast way to create a vector uses Array.to_vector or Array.to_numeric.
37
- #
38
- # == Deprecation Warning
39
- #
40
- # Statsample::Vector has been deprecated in favour of Daru::Vector. Daru is
41
- # a dedicated data analysis and manipulation library that brings awesome
42
- # data analysis functionality to ruby. Check out the daru docs at
43
- # https://github.com/v0dro/daru#notebooks
44
- class Vector < Daru::Vector
45
- include Statsample::VectorShorthands
46
-
47
- # Valid data. Equal to data, minus values assigned as missing values.
48
- #
49
- # == Deprecation Warning
50
- #
51
- # Use Daru::Vector#only_valid instead of this method.
52
- def valid_data
53
- $stderr.puts "WARNING: valid_data in Statsample::Vector has been deprecated in favor of only_valid in Daru::Vector. Please use that.\n"
54
- only_valid.to_a
55
- end
56
- # Missing values array
57
- #
58
- # == Deprecation Warning
59
- #
60
- # Use Daru::Vector#only_valid instead of this method.
61
- def missing_data
62
- only_missing.to_a
63
- end
64
- # Original data.
65
- #
66
- # == Deprecation Warning
67
- #
68
- # Use Daru::Vector#to_a instead of this method.
69
- def data_with_nils
70
- to_a
71
- end
72
-
73
- def type= val
74
- raise NoMethodError, "Daru::Vector automatically figures the type of data. There is no need to assign it anymore."
75
- end
76
-
77
- def initialize(data=[], type=:object, opts=Hash.new)
78
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that."
79
-
80
- if type == :ordinal or type == :scale
81
- $stderr.puts "WARNING: #{type} has been deprecated."
82
- end
83
-
84
- if type == :nominal
85
- $stderr.puts "WARNING: nominal has been deprecated."
86
- end
87
-
88
- if opts[:today_values]
89
- raise ArgumentError, "This option is no longer supported in Vector. Watch out for the next version of Daru::Vector that will have full time series support"
90
- end
91
-
92
- if opts[:name].nil?
93
- @@n_table||=0
94
- @@n_table+=1
95
- opts[:name] = "Vector #{@@n_table}"
96
- end
97
-
98
- super(data, opts)
99
- end
100
-
101
- # Create a vector using (almost) any object
102
- # * Array: flattened
103
- # * Range: transformed using to_a
104
- # * Statsample::Vector
105
- # * Numeric and string values
106
- #
107
- # == Deprecation Warning
108
- #
109
- # Statsample::Vector is to be replaced by Daru::Vector soon. Use the
110
- # equivalent method Daru::Vector.[] for this purpose.
111
- def self.[](*args)
112
- $stderr.puts "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that."
113
- super *args
114
- end
115
-
116
- # Create a new numeric type vector
117
- # Parameters
118
- # [n] Size
119
- # [val] Value of each value
120
- # [&block] If block provided, is used to set the values of vector
121
- #
122
- # == Deprecation Warning
123
- #
124
- # Statsample::Vector is to be replaced by Daru::Vector soon. Use the
125
- # equivalent method Daru::Vector.[] for this purpose.
126
- def self.new_numeric(n,val=nil, &block)
127
- if block
128
- Statsample::Vector.new(n.times.map {|i| block.call(i)})
129
- else
130
- Statsample::Vector.new(n.times.map { val })
131
- end
132
- end
133
-
134
- # Deprecated. Use new_numeric instead.
135
- def self.new_scale(n, val=nil,&block)
136
- new_numeric n, val, &block
137
- end
138
-
139
- # Return true if all data is Date, "today" values or nil
140
- def can_be_date?
141
- raise NoMethodError, "This method is no longer supported."
142
- end
143
- # Return true if all data is Numeric or nil
144
- def can_be_numeric?
145
- type == :numeric
146
- end
147
-
148
- def to_s
149
- sprintf("Vector(type:%s, n:%d)[%s]",@type.to_s,@data.size, @data.collect{|d| d.nil? ? "nil":d}.join(","))
150
- end
151
- end
152
- end
@@ -1,3 +1,3 @@
1
1
  module Statsample
2
- VERSION = '2.0.0'
2
+ VERSION = '2.0.1'
3
3
  end
@@ -80,5 +80,5 @@ Gem::Specification.new do |s|
80
80
  s.add_development_dependency 'gettext', '~> 3.1'
81
81
  s.add_development_dependency 'mocha', '~> 1.1'
82
82
  s.add_development_dependency 'nmatrix', '~> 0.1.0'
83
- s.add_development_dependency 'gsl-nmatrix', '~> 1.17.0'
83
+ s.add_development_dependency 'rb-gsl', '~> 1.16'
84
84
  end
@@ -1,144 +1,6 @@
1
1
  require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb'))
2
2
 
3
3
  class StatsampleTestVector < Minitest::Test
4
- include Statsample::Shorthand
5
-
6
- context Statsample do
7
- setup do
8
- @sample = 100
9
- @a = Daru::Vector.new(@sample.times.map { |i| (i + rand(10)) % 10 == 0 ? nil : rand(100) })
10
- @b = Daru::Vector.new(@sample.times.map { |i| (i + rand(10)) % 10 == 0 ? nil : rand(100) })
11
- @correct_a = []
12
- @correct_b = []
13
- @a.each_with_index do |_v, i|
14
- if !@a[i].nil? and !@b[i].nil?
15
- @correct_a.push(@a[i])
16
- @correct_b.push(@b[i])
17
- end
18
- end
19
- @correct_a = Daru::Vector.new(@correct_a)
20
- @correct_b = Daru::Vector.new(@correct_b)
21
-
22
- @common = lambda do |av, bv|
23
- assert_equal(@correct_a, av, 'A no es esperado')
24
- assert_equal(@correct_b, bv, 'B no es esperado')
25
- assert(!av.has_missing_data?, 'A tiene datos faltantes')
26
- assert(!bv.has_missing_data?, 'b tiene datos faltantes')
27
- end
28
- end
29
-
30
- should 'return correct only_valid' do
31
- av, bv = Statsample.only_valid @a, @b
32
- av.reset_index!
33
- bv.reset_index!
34
- av2, bv2 = Statsample.only_valid av, bv
35
- @common.call(av, bv)
36
- assert_equal(av, av2)
37
- assert_not_same(av, av2)
38
- assert_not_same(bv, bv2)
39
- end
40
-
41
- should 'return correct only_valid_clone' do
42
- av, bv = Statsample.only_valid_clone @a, @b
43
- av.reset_index!
44
- bv.reset_index!
45
- @common.call(av, bv)
46
- av2, bv2 = Statsample.only_valid_clone av, bv
47
- assert_equal(av, av2)
48
- assert_same(av, av2)
49
- assert_same(bv, bv2)
50
- end
51
-
52
- should 'returns correct vector_cols_matrix' do
53
- v1 = Daru::Vector.new(%w(a a a b b b c c))
54
- v2 = Daru::Vector.new(%w(1 3 4 5 6 4 3 2))
55
- v3 = Daru::Vector.new(%w(1 0 0 0 1 1 1 0))
56
- ex = Matrix.rows([%w(a 1 1), %w(a 3 0), %w(a 4 0), %w(b 5 0), %w(b 6 1), %w(b 4 1), %w(c 3 1), %w(c 2 0)])
57
- assert_equal(ex, Statsample.vector_cols_matrix(v1, v2, v3))
58
- end
59
- end
60
-
61
- context Statsample::Vector do
62
- context 'when initializing' do
63
- should '.new creates a Daru::Vector internally and shows a warning' do
64
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
65
- data = (10.times.map { rand(100) }) + [nil]
66
- original = Statsample::Vector.new(@data, :numeric)
67
- assert_equal(true, original.kind_of?(Daru::Vector))
68
- end
69
- end
70
-
71
- should '[] returns same results as R-c()' do
72
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
73
- assert_equal(true, Statsample::Vector[1,2,3,4,5].kind_of?(Daru::Vector))
74
- end
75
- end
76
-
77
- should "new_numeric/new_scale creates a Daru::Vector internally and shows a warning" do
78
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
79
- Statsample::Vector.new_scale(4)
80
- end
81
-
82
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
83
- Statsample::Vector.new_numeric(4)
84
- end
85
- end
86
- end
87
- end
88
-
89
- context "new types :numeric and :object" do
90
- should "numerical data is automatically detected to be of type :numeric" do
91
- v = Statsample::Vector.new [1,2,3,4,5,nil]
92
- assert_equal(:numeric, v.type)
93
- end
94
-
95
- should "object data automatically detected as :object" do
96
- v = Statsample::Vector.new [1,2,3,4,'hello','world']
97
- assert_equal(:object, v.type)
98
- end
99
-
100
- should "initialize Vector with :numeric type" do
101
- v = Statsample::Vector.new [1,2,3,4,5,nil], :numeric
102
- assert_equal(:numeric, v.type)
103
- assert_output(nil, "WARNING: valid_data in Statsample::Vector has been deprecated in favor of only_valid in Daru::Vector. Please use that.\n") do
104
- assert_equal([1,2,3,4,5], v.valid_data)
105
- end
106
- end
107
-
108
- should "show a warning when initializing with :nominal, :numeric or :ordinal" do
109
- assert_output(nil,"WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: nominal has been deprecated.\n") do
110
- Statsample::Vector.new [1,2,3,4,5,nil,'hello'], :nominal
111
- end
112
-
113
- assert_output(nil,"WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: scale has been deprecated.\n") do
114
- Statsample::Vector.new [1,2,3,4,nil,5], :scale
115
- end
116
-
117
- assert_output(nil,"WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: ordinal has been deprecated.\n") do
118
- Statsample::Vector.new [1,2,3,4,5], :ordinal
119
- end
120
-
121
- assert_output(nil,"WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
122
- Statsample::Vector.new_scale 10, 1
123
- end
124
- end
125
-
126
- should "show a warning when Statsample::Vector shorthands are used" do
127
- numeric = Statsample::Vector.new([1,2,3,4,nil,5], :numeric)
128
- assert_equal(numeric, [1,2,3,4,nil,5].to_numeric)
129
- assert_equal(numeric, [1,2,3,4,nil,5].to_vector(:numeric))
130
-
131
- obj = Statsample::Vector.new([1,2,3,4,'one','two'], :object)
132
- assert_equal(obj, [1,2,3,4,'one','two'].to_vector(:object))
133
- end
134
-
135
- should "test that old shorthands show deprecation warnings" do
136
- assert_output(nil,"WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
137
- [1,2,3,4,nil,5].to_scale
138
- end
139
- end
140
- end
141
-
142
4
  should 'return correct histogram' do
143
5
  a = Daru::Vector.new(10.times.map { |v| v })
144
6
  hist = a.histogram(2)
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: 2.0.0
4
+ version: 2.0.1
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-06-22 00:00:00.000000000 Z
12
+ date: 2015-08-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: daru
@@ -278,19 +278,19 @@ dependencies:
278
278
  - !ruby/object:Gem::Version
279
279
  version: 0.1.0
280
280
  - !ruby/object:Gem::Dependency
281
- name: gsl-nmatrix
281
+ name: rb-gsl
282
282
  requirement: !ruby/object:Gem::Requirement
283
283
  requirements:
284
284
  - - "~>"
285
285
  - !ruby/object:Gem::Version
286
- version: 1.17.0
286
+ version: '1.16'
287
287
  type: :development
288
288
  prerelease: false
289
289
  version_requirements: !ruby/object:Gem::Requirement
290
290
  requirements:
291
291
  - - "~>"
292
292
  - !ruby/object:Gem::Version
293
- version: 1.17.0
293
+ version: '1.16'
294
294
  description: |
295
295
  A suite for basic and advanced statistics on Ruby. Tested on CRuby 1.9.3, 2.0.0
296
296
  and 2.1.1. See `.travis.yml` for more information.
@@ -454,7 +454,6 @@ files:
454
454
  - test/test_bivariate.rb
455
455
  - test/test_codification.rb
456
456
  - test/test_crosstab.rb
457
- - test/test_dataset.rb
458
457
  - test/test_dominance_analysis.rb
459
458
  - test/test_factor.rb
460
459
  - test/test_factor_map.rb
@@ -1,49 +0,0 @@
1
- require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb'))
2
- class StatsampleDatasetTestCase < Minitest::Test
3
- def setup
4
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
5
- @ds = Statsample::Dataset.new({
6
- 'id' => Statsample::Vector.new([1, 2, 3, 4, 5]),
7
- 'name' => Statsample::Vector.new(%w(Alex Claude Peter Franz George)),
8
- 'age' => Statsample::Vector.new([20, 23, 25, 27, 5]),
9
- 'city' => Statsample::Vector.new(['New York', 'London', 'London', 'Paris', 'Tome']),
10
- 'a1' => Statsample::Vector.new(['a,b', 'b,c', 'a', nil, 'a,b,c']) },
11
- %w(id name age city a1))
12
- end
13
- end
14
-
15
- def test_basic
16
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#nrows.\n") do
17
- assert_equal(5, @ds.cases)
18
- end
19
-
20
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#vectors.\n") do
21
- assert_equal([:id, :name, :age, :city, :a1], @ds.fields)
22
- end
23
- end
24
-
25
- def test_fields
26
- assert_output(nil, "WARNING: Deprecated. Use Daru::DataFrame#reindex_vectors! instead.\nWARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using Daru::DataFrame#vectors.\n") do
27
- @ds.fields = %w(name a1 id age city)
28
- assert_equal([:name, :a1, :id, :age, :city], @ds.fields)
29
- end
30
-
31
- assert_raise ArgumentError, "Assigning less fields than vectors is no longer supported" do
32
- @ds.fields = %w(id name age)
33
- end
34
- end
35
-
36
- def test_crosstab_with_asignation
37
- v1 = Daru::Vector.new(%w(a a a b b b c c c))
38
- v2 = Daru::Vector.new(%w(a b c a b c a b c))
39
- v3 = Daru::Vector.new(%w(0 1 0 0 1 1 0 0 1))
40
-
41
- assert_output(nil, "WARNING: Statsample::Dataset and Statsample::Vector have been deprecated in favor of Daru::DataFrame and Daru::Vector. Please switch to using that.\n") do
42
- @ds = Statsample::Dataset.crosstab_by_assignation(v1, v2, v3)
43
- end
44
-
45
- assert_output(nil, "WARNING: Daru uses symbols instead of strings for naming vectors. Please switch to symbols.\n") do
46
- assert_equal(:object, @ds['_id'].type)
47
- end
48
- end
49
- end