statsample 0.14.0 → 0.14.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.
- 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: "
|