statsample 0.14.0 → 0.14.1
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 +12 -0
- data/Manifest.txt +3 -0
- data/lib/distribution/chisquare.rb +1 -1
- data/lib/statsample.rb +1 -1
- data/lib/statsample/factor.rb +74 -0
- data/lib/statsample/factor/map.rb +8 -1
- data/lib/statsample/factor/parallelanalysis.rb +46 -30
- data/lib/statsample/factor/pca.rb +6 -6
- data/lib/statsample/factor/principalaxis.rb +7 -1
- data/lib/statsample/matrix.rb +15 -0
- data/lib/statsample/test.rb +1 -0
- data/lib/statsample/test/bartlettsphericity.rb +45 -0
- data/po/es/statsample.mo +0 -0
- data/po/es/statsample.po +108 -64
- data/po/statsample.pot +101 -53
- data/test/fixtures/correlation_matrix.rb +17 -0
- data/test/helpers_tests.rb +2 -0
- data/test/test_bartlettsphericity.rb +26 -0
- data/test/test_factor.rb +63 -2
- metadata +7 -3
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 0.14.1 / 2010-08-18
|
2
|
+
|
3
|
+
* Added extra information on $DEBUG=true.
|
4
|
+
* Changed ParallelAnalysis: with_random_data parameters, bootstrap_method options are data and random, resolve bug related to number of factors to preserve, resolved bug related to original eigenvalues, can support failed bootstrap of data for Tetrachoric correlation.
|
5
|
+
* Optimized eigenpairs on Matrix when GSL is available.
|
6
|
+
* Added test for parallel analysis using data bootstraping
|
7
|
+
* Updated .pot and Manifest.txt
|
8
|
+
* Added test for kmo(global and univariate), bartlett and anti-image. Kmo and Bartlett have test based on Dziuban and Shirkey with correct results
|
9
|
+
* Complete set of test to test if a correlation matrix is appropriate for factor analysis: test of sphericity, KMO and anti-image (see Dziuban and Shirkey, 1974)
|
10
|
+
* Updated Parallel Analysis to work on Principal Axis Analysis based on O'Connors formulae
|
11
|
+
* Added reference for Statsample::Factor::MAP
|
12
|
+
|
1
13
|
=== 0.14.0 / 2010-08-16
|
2
14
|
* Added Statsample::Factor::MAP, to execute Velicer's (1976) MAP to determine the number of factors to retain on EFA
|
3
15
|
* Bug fix on test suite on Ruby 1.8.7
|
data/Manifest.txt
CHANGED
@@ -90,6 +90,7 @@ lib/statsample/resample.rb
|
|
90
90
|
lib/statsample/rserve_extension.rb
|
91
91
|
lib/statsample/srs.rb
|
92
92
|
lib/statsample/test.rb
|
93
|
+
lib/statsample/test/bartlettsphericity.rb
|
93
94
|
lib/statsample/test/chisquare.rb
|
94
95
|
lib/statsample/test/f.rb
|
95
96
|
lib/statsample/test/levene.rb
|
@@ -100,11 +101,13 @@ po/es/statsample.mo
|
|
100
101
|
po/es/statsample.po
|
101
102
|
po/statsample.pot
|
102
103
|
setup.rb
|
104
|
+
test/fixtures/correlation_matrix.rb
|
103
105
|
test/helpers_tests.rb
|
104
106
|
test/test_anovaoneway.rb
|
105
107
|
test/test_anovatwoway.rb
|
106
108
|
test/test_anovatwowaywithdataset.rb
|
107
109
|
test/test_anovawithvectors.rb
|
110
|
+
test/test_bartlettsphericity.rb
|
108
111
|
test/test_bivariate.rb
|
109
112
|
test/test_codification.rb
|
110
113
|
test/test_combination.rb
|
data/lib/statsample.rb
CHANGED
data/lib/statsample/factor.rb
CHANGED
@@ -15,5 +15,79 @@ module Statsample
|
|
15
15
|
# * Statsample::Factor::Quartimax
|
16
16
|
# See documentation of each class to use it
|
17
17
|
module Factor
|
18
|
+
# Anti-image covariance matrix.
|
19
|
+
# Useful for inspection of desireability of data for factor analysis.
|
20
|
+
# According to Dziuban & Shirkey (1974, p.359):
|
21
|
+
# "If this matrix does not exhibit many zero off-diagonal elements,
|
22
|
+
# the investigator has evidence that the correlation
|
23
|
+
# matrix is not appropriate for factor analysis."
|
24
|
+
#
|
25
|
+
def self.anti_image_covariance_matrix(matrix)
|
26
|
+
s2=Matrix.diag(*(matrix.inverse.diagonal)).inverse
|
27
|
+
aicm=(s2)*matrix.inverse*(s2)
|
28
|
+
aicm.extend(Statsample::CovariateMatrix)
|
29
|
+
aicm.fields=matrix.fields if matrix.respond_to? :fields
|
30
|
+
aicm
|
31
|
+
end
|
32
|
+
def self.anti_image_correlation_matrix(matrix)
|
33
|
+
s=Matrix.diag(*(matrix.inverse.diagonal)).sqrt.inverse
|
34
|
+
aicm=s*matrix.inverse*s
|
35
|
+
aicm.extend(Statsample::CovariateMatrix)
|
36
|
+
aicm.fields=matrix.fields if matrix.respond_to? :fields
|
37
|
+
aicm
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
# Kaiser-Meyer-Olkin measure of sampling adequacy for correlation matrix.
|
42
|
+
#
|
43
|
+
# Kaiser's (1974, cited on Dziuban & Shirkey, 1974) present calibration of the index is as follows :
|
44
|
+
# * .90s—marvelous
|
45
|
+
# * .80s— meritorious
|
46
|
+
# * .70s—middling
|
47
|
+
# * .60s—mediocre
|
48
|
+
# * .50s—miserable
|
49
|
+
# * .50 •—unacceptable
|
50
|
+
def self.kmo(matrix)
|
51
|
+
q=anti_image_correlation_matrix(matrix)
|
52
|
+
n=matrix.row_size
|
53
|
+
sum_r,sum_q=0,0
|
54
|
+
n.times do |j|
|
55
|
+
n.times do |k|
|
56
|
+
if j!=k
|
57
|
+
sum_r+=matrix[j,k]**2
|
58
|
+
sum_q+=q[j,k]**2
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
sum_r.quo(sum_r+sum_q)
|
63
|
+
end
|
64
|
+
# Kaiser-Meyer-Olkin measure of sampling adequacy for one variable.
|
65
|
+
#
|
66
|
+
def self.kmo_univariate(matrix, var)
|
67
|
+
if var.is_a? String
|
68
|
+
if matrix.respond_to? :fields
|
69
|
+
j=matrix.fields.index(var)
|
70
|
+
raise "Matrix doesn't have field #{var}" if j.nil?
|
71
|
+
else
|
72
|
+
raise "Matrix doesn't respond to fields"
|
73
|
+
end
|
74
|
+
else
|
75
|
+
j=var
|
76
|
+
end
|
77
|
+
|
78
|
+
q=anti_image_correlation_matrix(matrix)
|
79
|
+
n=matrix.row_size
|
80
|
+
|
81
|
+
sum_r,sum_q=0,0
|
82
|
+
|
83
|
+
n.times do |k|
|
84
|
+
if j!=k
|
85
|
+
sum_r+=matrix[j,k]**2
|
86
|
+
sum_q+=q[j,k]**2
|
87
|
+
end
|
88
|
+
end
|
89
|
+
sum_r.quo(sum_r+sum_q)
|
90
|
+
end
|
91
|
+
|
18
92
|
end
|
19
93
|
end
|
@@ -29,6 +29,12 @@ module Statsample
|
|
29
29
|
# tematic variance." (O'Connor, 2000, p.397).
|
30
30
|
#
|
31
31
|
# Current algorithm is loosely based on SPSS O'Connor algorithm
|
32
|
+
#
|
33
|
+
# == Reference
|
34
|
+
# * O'Connor, B. (2000). SPSS and SAS programs for determining the number of components using parallel analysis and Velicer’s MAP test. Behavior Research Methods, Instruments, & Computers, 32(3), 396-402.
|
35
|
+
#
|
36
|
+
|
37
|
+
|
32
38
|
|
33
39
|
class MAP
|
34
40
|
include Summarizable
|
@@ -52,12 +58,13 @@ module Statsample
|
|
52
58
|
end
|
53
59
|
def compute
|
54
60
|
eigen=@matrix.eigen
|
55
|
-
eigvect,@eigenvalues=eigen[:eigenvectors],eigen[:eigenvalues]
|
61
|
+
eigvect,@eigenvalues=eigen[:eigenvectors], eigen[:eigenvalues]
|
56
62
|
loadings=eigvect*(Matrix.diag(*@eigenvalues).sqrt)
|
57
63
|
fm=Array.new(@matrix.row_size)
|
58
64
|
ncol=@matrix.column_size
|
59
65
|
fm[0]=(@matrix.mssq - ncol).quo(ncol*(ncol-1))
|
60
66
|
(ncol-1).times do |m|
|
67
|
+
puts "MAP:Eigenvalue #{m+1}" if $DEBUG
|
61
68
|
a=loadings[0..(loadings.row_size-1),0..m]
|
62
69
|
partcov= @matrix - (a*a.t)
|
63
70
|
pc_prediag=partcov.row_size.times.map{|i|
|
@@ -18,13 +18,16 @@ module Statsample
|
|
18
18
|
# == References:
|
19
19
|
# * Hayton, J., Allen, D. & Scarpello, V.(2004). Factor Retention Decisions in Exploratory Factor Analysis: a Tutorial on Parallel Analysis. <i>Organizational Research Methods, 7</i> (2), 191-205.
|
20
20
|
# * O'Connor, B. (2000). SPSS and SAS programs for determining the number of components using parallel analysis and Velicer’s MAP test. Behavior Research Methods, Instruments, & Computers, 32 (3), 396-402
|
21
|
+
# * Liu, O., & Rijmen, F. (2008). A modified procedure for parallel analysis of ordered categorical data. Behavior Research Methods, 40(2), 556-562.
|
22
|
+
|
21
23
|
class ParallelAnalysis
|
22
|
-
def self.with_random_data(cases,vars,
|
24
|
+
def self.with_random_data(cases,vars,opts=Hash.new)
|
23
25
|
require 'ostruct'
|
24
26
|
ds=OpenStruct.new
|
25
27
|
ds.fields=vars.times.map {|i| "v#{i+1}"}
|
26
28
|
ds.cases=cases
|
27
|
-
|
29
|
+
opts=opts.merge({:bootstrap_method=> :random, :no_data=>true})
|
30
|
+
pa=new(ds, opts)
|
28
31
|
end
|
29
32
|
include DirtyMemoize
|
30
33
|
include Summarizable
|
@@ -36,15 +39,15 @@ module Statsample
|
|
36
39
|
attr_reader :ds
|
37
40
|
# Bootstrap method. <tt>:random</tt> used by default
|
38
41
|
# * <tt>:random</tt>: uses number of variables and cases for the dataset
|
39
|
-
# * <tt>:
|
40
|
-
# * <tt>:parameter</tt>: uses number of variables and cases, uses mean and standard deviation of each variable
|
42
|
+
# * <tt>:data</tt> : sample with replacement from actual data.
|
41
43
|
|
42
44
|
attr_accessor :bootstrap_method
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
|
47
|
-
attr_accessor :
|
45
|
+
# Uses smc on diagonal of matrixes, to perform simulation
|
46
|
+
# of a Principal Axis analysis.
|
47
|
+
# By default, false.
|
48
|
+
|
49
|
+
attr_accessor :smc
|
50
|
+
|
48
51
|
# Percentil over bootstrap eigenvalue should be accepted. 95 by default
|
49
52
|
attr_accessor :percentil
|
50
53
|
# Correlation matrix used with :raw_data . <tt>:correlation_matrix</tt> used by default
|
@@ -66,9 +69,9 @@ module Statsample
|
|
66
69
|
@n_cases=ds.cases
|
67
70
|
opts_default={
|
68
71
|
:name=>_("Parallel Analysis"),
|
69
|
-
:iterations=>
|
72
|
+
:iterations=>50, # See Liu and Rijmen (2008)
|
70
73
|
:bootstrap_method => :random,
|
71
|
-
:
|
74
|
+
:smc=>false,
|
72
75
|
:percentil=>95,
|
73
76
|
:debug=>false,
|
74
77
|
:no_data=>false,
|
@@ -82,13 +85,18 @@ module Statsample
|
|
82
85
|
def number_of_factors
|
83
86
|
total=0
|
84
87
|
ds_eigenvalues.fields.each_with_index do |f,i|
|
85
|
-
|
88
|
+
if (@original[i]>0 and @original[i]>ds_eigenvalues[f].percentil(percentil))
|
89
|
+
total+=1
|
90
|
+
else
|
91
|
+
break
|
92
|
+
end
|
86
93
|
end
|
87
94
|
total
|
88
95
|
end
|
89
96
|
def report_building(g) #:nodoc:
|
90
97
|
g.section(:name=>@name) do |s|
|
91
98
|
s.text _("Bootstrap Method: %s") % bootstrap_method
|
99
|
+
s.text _("Uses SMC: %s") % (smc ? _("Yes") : _("No"))
|
92
100
|
s.text _("Correlation Matrix type : %s") % matrix_method
|
93
101
|
s.text _("Number of variables: %d") % @n_variables
|
94
102
|
s.text _("Number of cases: %d") % @n_cases
|
@@ -114,8 +122,8 @@ module Statsample
|
|
114
122
|
end
|
115
123
|
# Perform calculation. Shouldn't be called directly for the user
|
116
124
|
def compute
|
117
|
-
@original=factor_class.new(Statsample::Bivariate.correlation_matrix(@ds), :m=>@n_variables).eigenvalues.sort.reverse unless no_data
|
118
125
|
|
126
|
+
@original=Statsample::Bivariate.send(matrix_method, @ds).eigenvalues unless no_data
|
119
127
|
@ds_eigenvalues=Statsample::Dataset.new((1..@n_variables).map{|v| "ev_%05d" % v})
|
120
128
|
@ds_eigenvalues.fields.each {|f| @ds_eigenvalues[f].type=:scale}
|
121
129
|
if bootstrap_method==:parameter or bootstrap_method==:random
|
@@ -123,29 +131,37 @@ module Statsample
|
|
123
131
|
end
|
124
132
|
|
125
133
|
@iterations.times do |i|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
134
|
+
begin
|
135
|
+
puts "#{@name}: Iteration #{i}" if $DEBUG or debug
|
136
|
+
# Create a dataset of dummy values
|
137
|
+
ds_bootstrap=Statsample::Dataset.new(@ds.fields)
|
138
|
+
@fields.each do |f|
|
139
|
+
if bootstrap_method==:random
|
140
|
+
ds_bootstrap[f]=@n_cases.times.map {|c| rng.ugaussian()}.to_scale
|
141
|
+
elsif bootstrap_method==:data
|
142
|
+
ds_bootstrap[f]=ds[f].sample_with_replacement(@n_cases).to_scale
|
143
|
+
else
|
144
|
+
raise "bootstrap_method doesn't recogniced"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
matrix=Statsample::Bivariate.send(matrix_method, ds_bootstrap)
|
148
|
+
if smc
|
149
|
+
smc_v=matrix.inverse.diagonal.map{|ii| 1-(1.quo(ii))}
|
150
|
+
smc_v.each_with_index do |v,ii|
|
151
|
+
matrix[ii,ii]=v
|
152
|
+
end
|
137
153
|
end
|
154
|
+
ev=matrix.eigenvalues
|
155
|
+
@ds_eigenvalues.add_case_array(ev)
|
156
|
+
rescue Tetrachoric::RequerimentNotMeet => e
|
157
|
+
puts "Error: #{e}" if $DEBUG
|
158
|
+
redo
|
138
159
|
end
|
139
|
-
#pp Statsample::Bivariate.correlation_matrix(ds_bootstrap)
|
140
|
-
fa=factor_class.new(Statsample::Bivariate.send(matrix_method, ds_bootstrap), :m=>@n_variables)
|
141
|
-
ev=fa.eigenvalues.sort.reverse
|
142
|
-
@ds_eigenvalues.add_case_array(ev)
|
143
|
-
puts "iteration #{i}" if $DEBUG or debug
|
144
160
|
end
|
145
161
|
@ds_eigenvalues.update_valid_data
|
146
162
|
end
|
147
163
|
dirty_memoize :number_of_factors, :ds_eigenvalues
|
148
|
-
dirty_writer :iterations, :bootstrap_method, :
|
164
|
+
dirty_writer :iterations, :bootstrap_method, :percentil, :smc
|
149
165
|
end
|
150
166
|
end
|
151
167
|
end
|
@@ -146,15 +146,15 @@ module Factor
|
|
146
146
|
end
|
147
147
|
|
148
148
|
def calculate_eigenpairs_ruby
|
149
|
-
@eigenpairs = @matrix.
|
149
|
+
@eigenpairs = @matrix.eigenpairs_ruby
|
150
150
|
end
|
151
151
|
def calculate_eigenpairs_gsl
|
152
152
|
eigval, eigvec= GSL::Eigen.symmv(@matrix.to_gsl)
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
153
|
+
|
154
|
+
ep=eigval.size.times.map {|i|
|
155
|
+
[eigval[i], eigvec.get_col(i)]
|
156
|
+
}
|
157
|
+
@eigenpairs=ep.sort{|a,b| a[0]<=>b[0]}.reverse
|
158
158
|
end
|
159
159
|
|
160
160
|
def report_building(builder) # :nodoc:
|
@@ -124,6 +124,7 @@ module Factor
|
|
124
124
|
prev_sum=prev_com.inject(0) {|ac,v| ac+v}
|
125
125
|
@iterations=0
|
126
126
|
t.times do |i|
|
127
|
+
"#{@name}: Iteration #{i}" if $DEBUG
|
127
128
|
@iterations+=1
|
128
129
|
prev_com.each_with_index{|v,it|
|
129
130
|
work_matrix[it][it]=v
|
@@ -134,7 +135,7 @@ module Factor
|
|
134
135
|
com_sum = @communalities.inject(0) {|ac,v| ac+v}
|
135
136
|
jump=true
|
136
137
|
|
137
|
-
break if (com_sum-prev_sum).abs
|
138
|
+
break if (com_sum-prev_sum).abs < @delta
|
138
139
|
@communalities.each_with_index do |v2,i2|
|
139
140
|
raise "Variable #{i2} with communality > 1" if v2>1.0
|
140
141
|
end
|
@@ -153,12 +154,17 @@ module Factor
|
|
153
154
|
|
154
155
|
def initial_communalities
|
155
156
|
if @initial_communalities.nil?
|
157
|
+
|
156
158
|
if @smc
|
159
|
+
# Based on O'Connors(2000)
|
160
|
+
@initial_communalities=@matrix.inverse.diagonal.map{|i| 1-(1.quo(i))}
|
161
|
+
=begin
|
157
162
|
@initial_communalities=@matrix.column_size.times.collect {|i|
|
158
163
|
rxx , rxy = PrincipalAxis.separate_matrices(@matrix,i)
|
159
164
|
matrix=(rxy.t*rxx.inverse*rxy)
|
160
165
|
matrix[0,0]
|
161
166
|
}
|
167
|
+
=end
|
162
168
|
else
|
163
169
|
@initial_communalities=[1.0]*@matrix.column_size
|
164
170
|
end
|
data/lib/statsample/matrix.rb
CHANGED
@@ -5,7 +5,22 @@ class ::Matrix
|
|
5
5
|
def to_matrix
|
6
6
|
self
|
7
7
|
end
|
8
|
+
alias :eigenpairs_ruby :eigenpairs
|
8
9
|
|
10
|
+
if Statsample.has_gsl?
|
11
|
+
# Optimize eigenpairs of extendmatrix module using gsl
|
12
|
+
def eigenpairs
|
13
|
+
eigval, eigvec= GSL::Eigen.symmv(self.to_gsl)
|
14
|
+
ep=eigval.size.times.map {|i|
|
15
|
+
[eigval[i], eigvec.get_col(i)]
|
16
|
+
}
|
17
|
+
ep.sort{|a,b| a[0]<=>b[0]}.reverse
|
18
|
+
end
|
19
|
+
end
|
20
|
+
def eigenvalues
|
21
|
+
eigen[:eigenvalues]
|
22
|
+
end
|
23
|
+
|
9
24
|
def to_gsl
|
10
25
|
out=[]
|
11
26
|
self.row_size.times{|i|
|
data/lib/statsample/test.rb
CHANGED
@@ -7,6 +7,7 @@ module Statsample
|
|
7
7
|
autoload(:T, 'statsample/test/t')
|
8
8
|
autoload(:F, 'statsample/test/f')
|
9
9
|
autoload(:ChiSquare, 'statsample/test/chisquare')
|
10
|
+
autoload(:BartlettSphericity, 'statsample/test/bartlettsphericity')
|
10
11
|
|
11
12
|
# Returns probability of getting a value lower or higher
|
12
13
|
# than sample, using cdf and number of tails.
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Statsample
|
2
|
+
module Test
|
3
|
+
# == Bartlett's test of Sphericity.
|
4
|
+
# Test the hyphotesis that the sample correlation matrix
|
5
|
+
# comes from a multivariate normal population where variables
|
6
|
+
# are independent. In other words, the population correlation
|
7
|
+
# matrix is the identity matrix.
|
8
|
+
# == Reference
|
9
|
+
# * Dziuban, C., & Shirkey E. (1974). When is a correlation matrix appropriate for factor analysis? Some decision rules. Psychological Bulletin, 81(6), 358-361.
|
10
|
+
class BartlettSphericity
|
11
|
+
include Statsample::Test
|
12
|
+
include Summarizable
|
13
|
+
attr_accessor :name
|
14
|
+
attr_reader :ncases
|
15
|
+
attr_reader :nvars
|
16
|
+
attr_reader :value
|
17
|
+
attr_reader :df
|
18
|
+
# Args
|
19
|
+
# * _matrix_: correlation matrix
|
20
|
+
# * _ncases_: number of cases
|
21
|
+
def initialize(matrix,ncases)
|
22
|
+
@matrix=matrix
|
23
|
+
@ncases=ncases
|
24
|
+
@nvars=@matrix.row_size
|
25
|
+
@name=_("Bartlett's test of sphericity")
|
26
|
+
compute
|
27
|
+
end
|
28
|
+
# Uses SPSS formula.
|
29
|
+
# On Dziuban & Shirkey, the minus between the first and second
|
30
|
+
# statement is a *!!!
|
31
|
+
#
|
32
|
+
def compute
|
33
|
+
@value=-((@ncases-1)-(2*@nvars+5).quo(6))*Math::log(@matrix.determinant)
|
34
|
+
@df=(@nvars*(@nvars-1)).quo(2)
|
35
|
+
end
|
36
|
+
def probability
|
37
|
+
1-Distribution::ChiSquare.cdf(@value,@df)
|
38
|
+
end
|
39
|
+
def report_building(builder) # :nodoc:
|
40
|
+
builder.text "%s : X(%d) = %0.4f , p = %0.4f" % [@name, @df, @value, probability]
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/po/es/statsample.mo
CHANGED
Binary file
|
data/po/es/statsample.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
msgid ""
|
2
2
|
msgstr ""
|
3
|
-
"Project-Id-Version: statsample 0.
|
4
|
-
"POT-Creation-Date: 2010-08-
|
5
|
-
"PO-Revision-Date: 2010-08-
|
3
|
+
"Project-Id-Version: statsample 0.14.0\n"
|
4
|
+
"POT-Creation-Date: 2010-08-17 18:46-0400\n"
|
5
|
+
"PO-Revision-Date: 2010-08-17 18:50-0300\n"
|
6
6
|
"Last-Translator: Claudio Bustos <clbustos@gmail.com>\n"
|
7
7
|
"Language-Team: Desarrollador\n"
|
8
8
|
"MIME-Version: 1.0\n"
|
@@ -20,8 +20,8 @@ msgid "Mean and standard deviation"
|
|
20
20
|
msgstr "Promedio y desviación estándar"
|
21
21
|
|
22
22
|
#: lib/statsample/test/t.rb:209
|
23
|
-
#: lib/statsample/factor/pca.rb:
|
24
|
-
#: lib/statsample/factor/principalaxis.rb:
|
23
|
+
#: lib/statsample/factor/pca.rb:163
|
24
|
+
#: lib/statsample/factor/principalaxis.rb:202
|
25
25
|
msgid "Variable"
|
26
26
|
msgstr "Variable"
|
27
27
|
|
@@ -35,7 +35,8 @@ msgid "sd"
|
|
35
35
|
msgstr "de"
|
36
36
|
|
37
37
|
#: lib/statsample/test/t.rb:209
|
38
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
38
|
+
#: lib/statsample/factor/parallelanalysis.rb:100
|
39
|
+
#: lib/statsample/factor/parallelanalysis.rb:108
|
39
40
|
msgid "n"
|
40
41
|
msgstr "n"
|
41
42
|
|
@@ -88,6 +89,10 @@ msgstr "p exacto (Dinneen & Blakesley, 1973):"
|
|
88
89
|
msgid "Levene Test"
|
89
90
|
msgstr "Test de Levene"
|
90
91
|
|
92
|
+
#: lib/statsample/test/bartlettsphericity.rb:25
|
93
|
+
msgid "Bartlett's test of sphericity"
|
94
|
+
msgstr "Test de esfericidad de Bartlett"
|
95
|
+
|
91
96
|
#: lib/statsample/regression/multiple/baseengine.rb:25
|
92
97
|
msgid "Multiple Regression: %s over %s"
|
93
98
|
msgstr "Regresión Múltiple: %s sobre %s"
|
@@ -269,11 +274,11 @@ msgstr "Dentro de grupos"
|
|
269
274
|
msgid "Descriptives"
|
270
275
|
msgstr "Descriptivos"
|
271
276
|
|
272
|
-
#: lib/statsample/bivariate/pearson.rb:
|
277
|
+
#: lib/statsample/bivariate/pearson.rb:32
|
273
278
|
msgid "Correlation (%s - %s)"
|
274
279
|
msgstr "Correlación (%s - %s)"
|
275
280
|
|
276
|
-
#: lib/statsample/bivariate/pearson.rb:
|
281
|
+
#: lib/statsample/bivariate/pearson.rb:50
|
277
282
|
msgid "%s : r=%0.3f (t:%0.3f, g.l.=%d, p:%0.3f / %s tails)"
|
278
283
|
msgstr "%s : r=%0.3f (t:%0.3f, g.l.=%d, p:%0.3f / %s colas)"
|
279
284
|
|
@@ -281,147 +286,190 @@ msgstr "%s : r=%0.3f (t:%0.3f, g.l.=%d, p:%0.3f / %s colas)"
|
|
281
286
|
msgid "Histogram %s"
|
282
287
|
msgstr "Histograma: %s"
|
283
288
|
|
284
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
289
|
+
#: lib/statsample/factor/parallelanalysis.rb:70
|
285
290
|
msgid "Parallel Analysis"
|
286
291
|
msgstr "Análisis Paralelo"
|
287
292
|
|
288
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
293
|
+
#: lib/statsample/factor/parallelanalysis.rb:93
|
289
294
|
msgid "Bootstrap Method: %s"
|
290
295
|
msgstr "Método de Remuestreo: %s"
|
291
296
|
|
292
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
297
|
+
#: lib/statsample/factor/parallelanalysis.rb:94
|
298
|
+
msgid "Uses SMC: %s"
|
299
|
+
msgstr "Usa SMC: %s"
|
300
|
+
|
301
|
+
#: lib/statsample/factor/parallelanalysis.rb:94
|
302
|
+
msgid "Yes"
|
303
|
+
msgstr "Sí"
|
304
|
+
|
305
|
+
#: lib/statsample/factor/parallelanalysis.rb:94
|
306
|
+
msgid "No"
|
307
|
+
msgstr "No"
|
308
|
+
|
309
|
+
#: lib/statsample/factor/parallelanalysis.rb:95
|
293
310
|
msgid "Correlation Matrix type : %s"
|
294
311
|
msgstr "Tipo de matriz de correlacion : %s"
|
295
312
|
|
296
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
313
|
+
#: lib/statsample/factor/parallelanalysis.rb:96
|
297
314
|
msgid "Number of variables: %d"
|
298
315
|
msgstr "Número de variables: %d"
|
299
316
|
|
300
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
317
|
+
#: lib/statsample/factor/parallelanalysis.rb:97
|
301
318
|
msgid "Number of cases: %d"
|
302
319
|
msgstr "Número de casos: %d"
|
303
320
|
|
304
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
321
|
+
#: lib/statsample/factor/parallelanalysis.rb:98
|
305
322
|
msgid "Number of iterations: %d"
|
306
323
|
msgstr "Número de iteraciones: %d"
|
307
324
|
|
308
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
#: lib/statsample/factor/parallelanalysis.rb:79
|
325
|
+
#: lib/statsample/factor/parallelanalysis.rb:100
|
326
|
+
#: lib/statsample/factor/parallelanalysis.rb:108
|
327
|
+
#: lib/statsample/factor/map.rb:90
|
313
328
|
msgid "Eigenvalues"
|
314
329
|
msgstr "Eigenvalues"
|
315
330
|
|
316
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
317
|
-
|
318
|
-
msgstr "eigenvalue de los datos"
|
319
|
-
|
320
|
-
#: lib/statsample/factor/parallelanalysis.rb:79
|
331
|
+
#: lib/statsample/factor/parallelanalysis.rb:100
|
332
|
+
#: lib/statsample/factor/parallelanalysis.rb:108
|
321
333
|
msgid "generated eigenvalue"
|
322
334
|
msgstr "eigenvalue generado"
|
323
335
|
|
324
|
-
#: lib/statsample/factor/parallelanalysis.rb:
|
336
|
+
#: lib/statsample/factor/parallelanalysis.rb:107
|
337
|
+
msgid "Number or factors to preserve: %d"
|
338
|
+
msgstr "Número de factores a preservar: %d"
|
339
|
+
|
340
|
+
#: lib/statsample/factor/parallelanalysis.rb:108
|
341
|
+
msgid "data eigenvalue"
|
342
|
+
msgstr "eigenvalue de los datos"
|
343
|
+
|
344
|
+
#: lib/statsample/factor/parallelanalysis.rb:108
|
325
345
|
msgid "preserve?"
|
326
346
|
msgstr "¿preservar?"
|
327
347
|
|
328
|
-
#: lib/statsample/factor/
|
348
|
+
#: lib/statsample/factor/map.rb:54
|
349
|
+
msgid "Velicer's MAP"
|
350
|
+
msgstr "PPM de Velicer"
|
351
|
+
|
352
|
+
#: lib/statsample/factor/map.rb:90
|
353
|
+
msgid "Value"
|
354
|
+
msgstr "Valor"
|
355
|
+
|
356
|
+
#: lib/statsample/factor/map.rb:95
|
357
|
+
msgid "Velicer's Average Squared Correlations"
|
358
|
+
msgstr "Correlaciones Cuadradas Promedio de Velicer "
|
359
|
+
|
360
|
+
#: lib/statsample/factor/map.rb:95
|
361
|
+
msgid "number of components"
|
362
|
+
msgstr "número de componentes"
|
363
|
+
|
364
|
+
#: lib/statsample/factor/map.rb:95
|
365
|
+
msgid "average square correlation"
|
366
|
+
msgstr "correlación cuadrada promedio"
|
367
|
+
|
368
|
+
#: lib/statsample/factor/map.rb:100
|
369
|
+
msgid "The smallest average squared correlation is : %0.6f"
|
370
|
+
msgstr "La correlación cuadrada promedio más pequeña es: %0.6f"
|
371
|
+
|
372
|
+
#: lib/statsample/factor/map.rb:101
|
373
|
+
msgid "The number of components is : %d"
|
374
|
+
msgstr "El número de componentes es: %d"
|
375
|
+
|
376
|
+
#: lib/statsample/factor/pca.rb:50
|
329
377
|
msgid "Principal Component Analysis"
|
330
378
|
msgstr "Análisis de componentes principales"
|
331
379
|
|
332
|
-
#: lib/statsample/factor/pca.rb:
|
380
|
+
#: lib/statsample/factor/pca.rb:117
|
333
381
|
msgid "Component matrix"
|
334
382
|
msgstr "Matriz de componentes"
|
335
383
|
|
336
|
-
#: lib/statsample/factor/pca.rb:
|
337
|
-
#: lib/statsample/factor/principalaxis.rb:
|
384
|
+
#: lib/statsample/factor/pca.rb:162
|
385
|
+
#: lib/statsample/factor/principalaxis.rb:200
|
338
386
|
msgid "Number of factors: %d"
|
339
387
|
msgstr "Número de factores: %d"
|
340
388
|
|
341
|
-
#: lib/statsample/factor/pca.rb:
|
342
|
-
#: lib/statsample/factor/principalaxis.rb:
|
389
|
+
#: lib/statsample/factor/pca.rb:163
|
390
|
+
#: lib/statsample/factor/principalaxis.rb:202
|
343
391
|
msgid "Communalities"
|
344
392
|
msgstr "Comunalidades"
|
345
393
|
|
346
|
-
#: lib/statsample/factor/pca.rb:
|
347
|
-
#: lib/statsample/factor/principalaxis.rb:
|
394
|
+
#: lib/statsample/factor/pca.rb:163
|
395
|
+
#: lib/statsample/factor/principalaxis.rb:202
|
348
396
|
msgid "Initial"
|
349
397
|
msgstr "Inicial"
|
350
398
|
|
351
|
-
#: lib/statsample/factor/pca.rb:
|
352
|
-
#: lib/statsample/factor/principalaxis.rb:
|
399
|
+
#: lib/statsample/factor/pca.rb:163
|
400
|
+
#: lib/statsample/factor/principalaxis.rb:202
|
353
401
|
msgid "Extraction"
|
354
402
|
msgstr "Extracción"
|
355
403
|
|
356
|
-
#: lib/statsample/factor/pca.rb:
|
404
|
+
#: lib/statsample/factor/pca.rb:169
|
357
405
|
msgid "Total Variance Explained"
|
358
406
|
msgstr "Varianza Total Explicada"
|
359
407
|
|
360
|
-
#: lib/statsample/factor/pca.rb:
|
408
|
+
#: lib/statsample/factor/pca.rb:169
|
361
409
|
msgid "Component"
|
362
410
|
msgstr "Componente"
|
363
411
|
|
364
|
-
#: lib/statsample/factor/pca.rb:
|
412
|
+
#: lib/statsample/factor/pca.rb:169
|
365
413
|
msgid "E.Total"
|
366
414
|
msgstr "E. Total"
|
367
415
|
|
368
|
-
#: lib/statsample/factor/pca.rb:
|
416
|
+
#: lib/statsample/factor/pca.rb:169
|
369
417
|
msgid "%"
|
370
418
|
msgstr "%"
|
371
419
|
|
372
|
-
#: lib/statsample/factor/pca.rb:
|
420
|
+
#: lib/statsample/factor/pca.rb:169
|
373
421
|
msgid "Cum. %"
|
374
422
|
msgstr "% Acum."
|
375
423
|
|
376
|
-
#: lib/statsample/factor/pca.rb:
|
424
|
+
#: lib/statsample/factor/pca.rb:173
|
377
425
|
msgid "Component %d"
|
378
426
|
msgstr "Componente %d"
|
379
427
|
|
380
|
-
#: lib/statsample/factor/principalaxis.rb:
|
428
|
+
#: lib/statsample/factor/principalaxis.rb:71
|
381
429
|
msgid "Variable %d"
|
382
430
|
msgstr "Variable %d"
|
383
431
|
|
384
|
-
#: lib/statsample/factor/principalaxis.rb:
|
432
|
+
#: lib/statsample/factor/principalaxis.rb:147
|
385
433
|
msgid "Factor Matrix"
|
386
434
|
msgstr "Matriz de Factores"
|
387
435
|
|
388
|
-
#: lib/statsample/factor/principalaxis.rb:
|
436
|
+
#: lib/statsample/factor/principalaxis.rb:201
|
389
437
|
msgid "Iterations: %d"
|
390
438
|
msgstr "Iteraciones: %d"
|
391
439
|
|
392
|
-
#: lib/statsample/factor/principalaxis.rb:
|
440
|
+
#: lib/statsample/factor/principalaxis.rb:207
|
393
441
|
msgid "Total Variance"
|
394
442
|
msgstr "Varianza Total"
|
395
443
|
|
396
|
-
#: lib/statsample/factor/principalaxis.rb:
|
444
|
+
#: lib/statsample/factor/principalaxis.rb:207
|
397
445
|
msgid "Factor"
|
398
446
|
msgstr "Factor"
|
399
447
|
|
400
|
-
#: lib/statsample/factor/principalaxis.rb:
|
448
|
+
#: lib/statsample/factor/principalaxis.rb:207
|
401
449
|
msgid "I.E.Total"
|
402
450
|
msgstr "E.I. Total"
|
403
451
|
|
404
|
-
#: lib/statsample/factor/principalaxis.rb:
|
452
|
+
#: lib/statsample/factor/principalaxis.rb:207
|
405
453
|
msgid "I.E. %"
|
406
454
|
msgstr "E.I. %"
|
407
455
|
|
408
|
-
#: lib/statsample/factor/principalaxis.rb:
|
456
|
+
#: lib/statsample/factor/principalaxis.rb:207
|
409
457
|
msgid "I.E.Cum. %"
|
410
458
|
msgstr "E.I. Acum. %"
|
411
459
|
|
412
|
-
#: lib/statsample/factor/principalaxis.rb:
|
460
|
+
#: lib/statsample/factor/principalaxis.rb:208
|
413
461
|
msgid "S.L.Total"
|
414
462
|
msgstr "C.C. Total"
|
415
463
|
|
416
|
-
#: lib/statsample/factor/principalaxis.rb:
|
464
|
+
#: lib/statsample/factor/principalaxis.rb:208
|
417
465
|
msgid "S.L. %"
|
418
466
|
msgstr "C.C. %"
|
419
467
|
|
420
|
-
#: lib/statsample/factor/principalaxis.rb:
|
468
|
+
#: lib/statsample/factor/principalaxis.rb:208
|
421
469
|
msgid "S.L.Cum. %"
|
422
470
|
msgstr "C.C. Acum %"
|
423
471
|
|
424
|
-
#: lib/statsample/factor/principalaxis.rb:
|
472
|
+
#: lib/statsample/factor/principalaxis.rb:215
|
425
473
|
msgid "Factor %d"
|
426
474
|
msgstr "Factor %d"
|
427
475
|
|
@@ -437,31 +485,31 @@ msgstr "Matriz de componentes rotada"
|
|
437
485
|
msgid "Component transformation matrix"
|
438
486
|
msgstr "Matriz de transformación de componentes"
|
439
487
|
|
440
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
488
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:58
|
441
489
|
msgid "Multiple Scale analysis"
|
442
490
|
msgstr "Análisis de múltiples escalas"
|
443
491
|
|
444
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
492
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:86
|
445
493
|
msgid "Scale %s"
|
446
494
|
msgstr "Escala %s"
|
447
495
|
|
448
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
496
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:128
|
449
497
|
msgid "Reliability analysis of scales"
|
450
498
|
msgstr "Análisis de confiabilidad de escalas"
|
451
499
|
|
452
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
500
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:134
|
453
501
|
msgid "Correlation matrix for %s"
|
454
502
|
msgstr "Matriz de correlaciones para %s"
|
455
503
|
|
456
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
504
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:139
|
457
505
|
msgid "PCA for %s"
|
458
506
|
msgstr "ACP para %s"
|
459
507
|
|
460
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
508
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:144
|
461
509
|
msgid "Principal Axis for %s"
|
462
510
|
msgstr "Ejes principales para %s"
|
463
511
|
|
464
|
-
#: lib/statsample/reliability/multiscaleanalysis.rb:
|
512
|
+
#: lib/statsample/reliability/multiscaleanalysis.rb:150
|
465
513
|
msgid "Parallel Analysis for %s"
|
466
514
|
msgstr "Análisis Paralelo para %s"
|
467
515
|
|
@@ -665,8 +713,6 @@ msgstr "Dataset %d"
|
|
665
713
|
msgid "Cases: %d"
|
666
714
|
msgstr "Casos: %s"
|
667
715
|
|
668
|
-
#~ msgid "Value"
|
669
|
-
#~ msgstr "Valor de U"
|
670
716
|
#~ msgid "actual"
|
671
717
|
#~ msgstr "real"
|
672
718
|
#~ msgid "Polychoric correlation"
|
@@ -695,8 +741,6 @@ msgstr "Casos: %s"
|
|
695
741
|
#~ msgstr "Umbral X: %0.3f"
|
696
742
|
#~ msgid "Threshold Y: %0.3f "
|
697
743
|
#~ msgstr "Umbral Y:%0.3f"
|
698
|
-
#~ msgid "Tetrachoric correlation"
|
699
|
-
#~ msgstr "Correlación tetracórica"
|
700
744
|
#~ msgid "Factor Analysis: "
|
701
745
|
#~ msgstr "Análisis de Factores:"
|
702
746
|
#~ msgid "DAB: "
|