Sha256: fb9c534c524e20b069a4021a0a5e91ed5d7f56b76e27a3220a1aee925f9d67b1
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
module Statsample module SPSS class << self # Export a SPSS Matrix with tetrachoric correlations . # # Use: # ds=Daru::DataFrame.from_excel("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.vectors.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.vectors.to_a.collect {|f| sprintf("%d",dsv[f].size) } meanlist=dsv.vectors.to_a.collect{|f| sprintf("%0.3f", dsv[f].mean) } stddevlist=dsv.vectors.to_a.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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
statsample-2.0.2 | lib/statsample/converter/spss.rb |
statsample-2.0.1 | lib/statsample/converter/spss.rb |
statsample-2.0.0 | lib/statsample/converter/spss.rb |