statsample 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
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