Sha256: 87c6532bbc7078e7faf8569ee71f06b6db2baa928011bea23f5f6ee9c0c187f7

Contents?: true

Size: 1.2 KB

Versions: 38

Compression:

Stored size: 1.2 KB

Contents

module Statsample
  module SPSS
    class << self
      # Export a SPSS Matrix with tetrachoric correlations .
      #
      # Use: 
      #   ds=Statsample::Excel.read("my_data.xls")
      #   puts Statsample::SPSS.tetrachoric_correlation_matrix(ds)
      def tetrachoric_correlation_matrix(ds)
        dsv=ds.dup_only_valid
        # Delete all vectors doesn't have variation
        dsv.fields.each{|f|
          if dsv[f].factors.size==1
            dsv.delete_vector(f) 
          else
            dsv[f]=dsv[f].dichotomize
          end
        }
        tcm=Statsample::Bivariate.tetrachoric_correlation_matrix(dsv)
        n=dsv.fields.collect {|f|
          sprintf("%d",dsv[f].size)
        }
        meanlist=dsv.fields.collect{|f|
          sprintf("%0.3f", dsv[f].mean)
        }
        stddevlist=dsv.fields.collect{|f|
          sprintf("%0.3f", dsv[f].sd)
        }
        out=<<-HEREDOC
MATRIX DATA VARIABLES=ROWTYPE_ #{dsv.fields.join(",")}.
BEGIN DATA
N #{n.join(" ")}
MEAN	#{meanlist.join(" ")}
STDDEV #{stddevlist.join(" ")}
HEREDOC
tcm.row_size.times {|i|
  out +="CORR "
  (i+1).times {|j|
    out+=sprintf("%0.3f",tcm[i,j])+" "
  }
  out +="\n"
}
out+="END DATA.\nEXECUTE.\n"
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
statsample-1.5.0 lib/statsample/converter/spss.rb
statsample-1.4.3 lib/statsample/converter/spss.rb
statsample-1.4.2 lib/statsample/converter/spss.rb
statsample-1.4.1 lib/statsample/converter/spss.rb
statsample-1.4.0 lib/statsample/converter/spss.rb
statsample-1.3.1 lib/statsample/converter/spss.rb
statsample-1.3.0 lib/statsample/converter/spss.rb
statsample-1.2.0 lib/statsample/converter/spss.rb
statsample-1.1.0 lib/statsample/converter/spss.rb
statsample-1.0.1 lib/statsample/converter/spss.rb
statsample-1.0.0 lib/statsample/converter/spss.rb
statsample-0.18.0 lib/statsample/converter/spss.rb
statsample-0.17.0 lib/statsample/converter/spss.rb
statsample-0.16.0 lib/statsample/converter/spss.rb
statsample-0.15.1 lib/statsample/converter/spss.rb
statsample-0.15.0 lib/statsample/converter/spss.rb
statsample-0.14.1 lib/statsample/converter/spss.rb
statsample-0.14.0 lib/statsample/converter/spss.rb
statsample-0.13.1 lib/statsample/converter/spss.rb
statsample-0.13.0 lib/statsample/converter/spss.rb