diff --git a/tools/multivariate_stats/cca.py b/tools/multivariate_stats/cca.py index 5ea69c6cb57..32f41c859d8 100644 --- a/tools/multivariate_stats/cca.py +++ b/tools/multivariate_stats/cca.py @@ -124,33 +124,33 @@ for i in range(ncomps): ftest=ftest.as_py() print >>fout, "#Component\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) -print >>fout, "#Correlation\t%s" %("\t".join(["%s" % el for el in corr])) -print >>fout, "#F-statistic\t%s" %("\t".join(["%s" % el for el in ftest['statistic']])) -print >>fout, "#p-value\t%s" %("\t".join(["%s" % el for el in ftest['p.value']])) +print >>fout, "#Correlation\t%s" %("\t".join(["%.4g" % el for el in corr])) +print >>fout, "#F-statistic\t%s" %("\t".join(["%.4g" % el for el in ftest['statistic']])) +print >>fout, "#p-value\t%s" %("\t".join(["%.4g" % el for el in ftest['p.value']])) print >>fout, "#X-Coefficients\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['xcoef']): - print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#Y-Coefficients\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['ycoef']): - print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#X-Loadings\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['xstructcorr']): - print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#Y-Loadings\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['ystructcorr']): - print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#X-CrossLoadings\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['xcrosscorr']): - print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(xlab[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#Y-CrossLoadings\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for i,val in enumerate(summary['ycrosscorr']): - print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(ylab[i], "\t".join(["%.4g" % el for el in val])) r.pdf( outfile2, 8, 8 ) #r.plot(cc) diff --git a/tools/multivariate_stats/kcca.py b/tools/multivariate_stats/kcca.py index 620ba862ca9..ac63946e4f8 100644 --- a/tools/multivariate_stats/kcca.py +++ b/tools/multivariate_stats/kcca.py @@ -135,12 +135,12 @@ ycoef = r.ycoef(kcc) print >>fout, "#Component\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) -print >>fout, "#Correlation\t%s" %("\t".join(["%s" % el for el in kcor])) +print >>fout, "#Correlation\t%s" %("\t".join(["%.4g" % el for el in kcor])) print >>fout, "#Estimated X-coefficients\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for obs,val in enumerate(xcoef): - print >>fout, "%s\t%s" %(obs+1, "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(obs+1, "\t".join(["%.4g" % el for el in val])) print >>fout, "#Estimated Y-coefficients\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for obs,val in enumerate(ycoef): - print >>fout, "%s\t%s" %(obs+1, "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(obs+1, "\t".join(["%.4g" % el for el in val])) diff --git a/tools/multivariate_stats/kpca.py b/tools/multivariate_stats/kpca.py index e9987c159a0..8edd2a1ff30 100644 --- a/tools/multivariate_stats/kpca.py +++ b/tools/multivariate_stats/kpca.py @@ -116,15 +116,15 @@ for i in range(ncomps): print >>fout, "#Component\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) -print >>fout, "#Eigenvalue\t%s" %("\t".join(["%s" % el for el in eig.values()])) +print >>fout, "#Eigenvalue\t%s" %("\t".join(["%.4g" % el for el in eig.values()])) print >>fout, "#Principal component vectors\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for obs,val in enumerate(pcv): - print >>fout, "%s\t%s" %(obs+1, "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(obs+1, "\t".join(["%.4g" % el for el in val])) print >>fout, "#Rotated values\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for obs,val in enumerate(rotated): - print >>fout, "%s\t%s" %(obs+1, "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(obs+1, "\t".join(["%.4g" % el for el in val])) r.pdf( outfile2, 8, 8 ) if ncomps != 1: diff --git a/tools/multivariate_stats/pca.py b/tools/multivariate_stats/pca.py index 7b1db8a6a85..f6824d5b71d 100644 --- a/tools/multivariate_stats/pca.py +++ b/tools/multivariate_stats/pca.py @@ -40,13 +40,18 @@ for ind,line in enumerate( file( infile )): if line and not line.startswith( '#' ): try: fields = line.strip().split("\t") + valid_line = True for k,col in enumerate(x_cols): try: xval = float(fields[col]) except: - #xval = r('NA') - xval = NaN# - x_vals[k].append(xval) + skipped += 1 + valid_line = False + break + if valid_line: + for k,col in enumerate(x_cols): + xval = float(fields[col]) + x_vals[k].append(xval) except: skipped += 1 @@ -71,7 +76,7 @@ for i in range(ncomps): sd[comps.index('Comp.%s' %(i+1))] = summary['sdev'].values()[i] print >>fout, "#Component\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) -print >>fout, "#Std. deviation\t%s" %("\t".join(["%s" % el for el in sd])) +print >>fout, "#Std. deviation\t%s" %("\t".join(["%.4g" % el for el in sd])) total_var = 0 vars = [] for s in sd: @@ -81,17 +86,17 @@ for s in sd: for i,var in enumerate(vars): vars[i] = vars[i]/total_var -print >>fout, "#Proportion of variance explained\t%s" %("\t".join(["%s" % el for el in vars])) +print >>fout, "#Proportion of variance explained\t%s" %("\t".join(["%.4g" % el for el in vars])) print >>fout, "#Loadings\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) xcolnames = ["c%d" %(el+1) for el in x_cols] for i,val in enumerate(summary['loadings']): - print >>fout, "%s\t%s" %(xcolnames[i], "\t".join(["%s" % el for el in val])) + print >>fout, "%s\t%s" %(xcolnames[i], "\t".join(["%.4g" % el for el in val])) print >>fout, "#Scores\t%s" %("\t".join(["%s" % el for el in range(1,ncomps+1)])) for obs,sc in enumerate(summary['scores']): - print >>fout, "%s\t%s" %(obs+1, "\t".join(["%s" % el for el in sc])) + print >>fout, "%s\t%s" %(obs+1, "\t".join(["%.4g" % el for el in sc])) r.pdf( outfile2, 8, 8 ) r.biplot(pc)