Mercurial > repos > bgruening > statistical_hypothesis_testing
comparison statistical_hypothesis_testing.py @ 0:22ed769665b6 draft default tip
Uploaded
author | bgruening |
---|---|
date | Sun, 01 Feb 2015 18:35:40 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:22ed769665b6 |
---|---|
1 #!/usr/bin/env python | |
2 | |
3 """ | |
4 | |
5 """ | |
6 import sys | |
7 import argparse | |
8 from scipy import stats | |
9 | |
10 def columns_to_values( args, line ): | |
11 #here you go over every list | |
12 samples = [] | |
13 for list in args: | |
14 cols = line.split('\t') | |
15 sample_list = [] | |
16 for row in list: | |
17 sample_list.append( cols[row-1] ) | |
18 samples.append( map(int, sample_list) ) | |
19 return samples | |
20 | |
21 | |
22 def main(): | |
23 parser = argparse.ArgumentParser() | |
24 parser.add_argument('-i', '--infile', required=True, help='Tabular file.') | |
25 parser.add_argument('-o', '--outfile', required=True, help='Path to the output file.') | |
26 parser.add_argument("--sample_one_cols", help="Input format, like smi, sdf, inchi") | |
27 parser.add_argument("--sample_two_cols", help="Input format, like smi, sdf, inchi") | |
28 parser.add_argument("--sample_cols", help="Input format, like smi, sdf, inchi,separate arrays using ;") | |
29 parser.add_argument("--test_id", help="statistical test method") | |
30 parser.add_argument("--mwu_use_continuity", action="store_true", default = False, | |
31 help="Whether a continuity correction (1/2.) should be taken into account.") | |
32 parser.add_argument("--equal_var", action="store_true", default = False, | |
33 help="If set perform a standard independent 2 sample test that assumes equal population variances. If not set, perform Welch's t-test, which does not assume equal population variance.") | |
34 parser.add_argument("--reta", action="store_true", default = False, | |
35 help="Whether or not to return the internally computed a values.") | |
36 parser.add_argument("--fisher", action="store_true", default = False, | |
37 help="if true then Fisher definition is used") | |
38 parser.add_argument("--bias", action="store_true", default = False, | |
39 help="if false,then the calculations are corrected for statistical bias") | |
40 parser.add_argument("--inclusive1", action="store_true", default= False , | |
41 help="if false,lower_limit will be ignored") | |
42 parser.add_argument("--inclusive2", action="store_true", default = False, | |
43 help="if false,higher_limit will be ignored") | |
44 parser.add_argument("--inclusive", action="store_true", default = False, | |
45 help="if false,limit will be ignored") | |
46 parser.add_argument("--printextras", action="store_true", default = False, | |
47 help="If True, if there are extra points a warning is raised saying how many of those points there are") | |
48 parser.add_argument("--initial_lexsort", action="store_true", default="False", | |
49 help="Whether to use lexsort or quicksort as the sorting method for the initial sort of the inputs.") | |
50 parser.add_argument("--correction", action="store_true", default = False, | |
51 help="continuity correction ") | |
52 parser.add_argument("--axis", type=int, default=0, | |
53 help="Axis can equal None (ravel array first), or an integer (the axis over which to operate on a and b)") | |
54 parser.add_argument("--n", type=int, default=0, | |
55 help="the number of trials. This is ignored if x gives both the number of successes and failures") | |
56 parser.add_argument("--b", type=int, default=0, | |
57 help="The number of bins to use for the histogram") | |
58 parser.add_argument("--N", type=int, default=0, | |
59 help="Score that is compared to the elements in a.") | |
60 parser.add_argument("--ddof", type=int, default=0, | |
61 help="Degrees of freedom correction") | |
62 parser.add_argument("--score", type=int, default=0, | |
63 help="Score that is compared to the elements in a.") | |
64 parser.add_argument("--m", type=float, default=0.0, | |
65 help="limits") | |
66 parser.add_argument("--mf", type=float, default=2.0, | |
67 help="lower limit") | |
68 parser.add_argument("--nf", type=float, default=99.9, | |
69 help="higher_limit") | |
70 parser.add_argument("--p", type=float, default=0.5, | |
71 help="The hypothesized probability of success. 0 <= p <= 1. The default value is p = 0.5") | |
72 parser.add_argument("--alpha", type=float, default=0.9, | |
73 help="probability") | |
74 parser.add_argument("--new", type=float, default=0.0, | |
75 help="Value to put in place of values in a outside of bounds") | |
76 parser.add_argument("--proportiontocut", type=float, default=0.0, | |
77 help="Proportion (in range 0-1) of total data set to trim of each end.") | |
78 parser.add_argument("--lambda_", type=float, default=1.0, | |
79 help="lambda_ gives the power in the Cressie-Read power divergence statistic") | |
80 parser.add_argument("--imbda", type=float, default=0, | |
81 help="If lmbda is not None, do the transformation for that value.If lmbda is None, find the lambda that maximizes the log-likelihood function and return it as the second output argument.") | |
82 parser.add_argument("--base", type=float, default=1.6, | |
83 help="The logarithmic base to use, defaults to e") | |
84 parser.add_argument("--dtype", help="dtype") | |
85 parser.add_argument("--med", help="med") | |
86 parser.add_argument("--cdf", help="cdf") | |
87 parser.add_argument("--zero_method", help="zero_method options") | |
88 parser.add_argument("--dist", help="dist options") | |
89 parser.add_argument("--ties", help="ties options") | |
90 parser.add_argument("--alternative", help="alternative options") | |
91 parser.add_argument("--mode", help="mode options") | |
92 parser.add_argument("--method", help="method options") | |
93 parser.add_argument("--md", help="md options") | |
94 parser.add_argument("--center", help="center options") | |
95 parser.add_argument("--kind", help="kind options") | |
96 parser.add_argument("--tail", help="tail options") | |
97 parser.add_argument("--interpolation", help="interpolation options") | |
98 parser.add_argument("--statistic", help="statistic options") | |
99 | |
100 args = parser.parse_args() | |
101 infile = args.infile | |
102 outfile = open(args.outfile, 'w+') | |
103 test_id = args.test_id | |
104 nf = args.nf | |
105 mf = args.mf | |
106 imbda = args.imbda | |
107 inclusive1 = args.inclusive1 | |
108 inclusive2 = args.inclusive2 | |
109 sample0 = 0 | |
110 sample1 = 0 | |
111 sample2 = 0 | |
112 if args.sample_cols != None: | |
113 sample0 = 1 | |
114 barlett_samples = [] | |
115 for sample in args.sample_cols.split(';'): | |
116 barlett_samples.append( map(int, sample.split(',')) ) | |
117 if args.sample_one_cols != None: | |
118 sample1 = 1 | |
119 sample_one_cols = args.sample_one_cols.split(',') | |
120 if args.sample_two_cols != None: | |
121 sample_two_cols = args.sample_two_cols.split(',') | |
122 sample2 = 1 | |
123 for line in open( infile ): | |
124 sample_one = [] | |
125 sample_two = [] | |
126 cols = line.strip().split('\t') | |
127 if sample0 == 1: | |
128 b_samples = columns_to_values( barlett_samples,line ) | |
129 if sample1 == 1: | |
130 for index in sample_one_cols: | |
131 sample_one.append( cols[ int(index) -1 ] ) | |
132 if sample2 == 1: | |
133 for index in sample_two_cols: | |
134 sample_two.append( cols[ int(index) -1 ] ) | |
135 if test_id.strip() == 'describe': | |
136 size, min_max,mean,uv,bs,bk = stats.describe( map(float, sample_one) ) | |
137 cols.append( size ) | |
138 cols.append( min_max ) | |
139 cols.append( mean ) | |
140 cols.append( uv ) | |
141 cols.append( bs ) | |
142 cols.append( bk ) | |
143 elif test_id.strip() == 'mode': | |
144 vals, counts = stats.mode( map(float, sample_one) ) | |
145 cols.append( vals ) | |
146 cols.append( counts ) | |
147 elif test_id.strip() == 'nanmean': | |
148 m = stats.nanmean( map(float, sample_one)) | |
149 cols.append( m ) | |
150 elif test_id.strip() == 'nanmedian': | |
151 m = stats.nanmedian( map(float, sample_one)) | |
152 cols.append( m ) | |
153 elif test_id.strip() == 'kurtosistest': | |
154 z_value, p_value = stats.kurtosistest( map(float, sample_one) ) | |
155 cols.append( z_value ) | |
156 cols.append( p_value ) | |
157 elif test_id.strip() == 'variation': | |
158 ra = stats.variation( map(float, sample_one)) | |
159 cols.append( ra ) | |
160 elif test_id.strip() == 'itemfreq': | |
161 freq = stats.itemfreq( map(float, sample_one)) | |
162 for list in freq: | |
163 elements = ','.join( map(str, list) ) | |
164 cols.append( elements ) | |
165 elif test_id.strip() == 'nanmedian': | |
166 m = stats.nanmedian( map(float, sample_one)) | |
167 cols.append( m ) | |
168 elif test_id.strip() == 'variation': | |
169 ra = stats.variation( map(float, sample_one)) | |
170 cols.append( ra ) | |
171 elif test_id.strip() == 'boxcox_llf': | |
172 IIf = stats.boxcox_llf( imbda,map(float, sample_one) ) | |
173 cols.append( IIf ) | |
174 elif test_id.strip() == 'tiecorrect': | |
175 fa = stats.tiecorrect( map(float, sample_one) ) | |
176 cols.append( fa ) | |
177 elif test_id.strip() == 'rankdata': | |
178 r = stats.rankdata( map(float, sample_one),method=args.md ) | |
179 cols.append( r ) | |
180 elif test_id.strip() == 'nanstd': | |
181 s = stats.nanstd( map(float, sample_one),bias=args.bias ) | |
182 cols.append( s ) | |
183 elif test_id.strip() == 'anderson': | |
184 A2, critical, sig = stats.anderson( map(float, sample_one), dist=args.dist ) | |
185 cols.append( A2 ) | |
186 for list in critical: | |
187 cols.append( list ) | |
188 cols.append( ',' ) | |
189 for list in sig: | |
190 cols.append( list ) | |
191 elif test_id.strip() == 'binom_test': | |
192 p_value = stats.binom_test( map(float, sample_one), n=args.n, p=args.p ) | |
193 cols.append( p_value ) | |
194 elif test_id.strip() == 'gmean': | |
195 gm = stats.gmean( map(float, sample_one), dtype=args.dtype ) | |
196 cols.append( gm ) | |
197 elif test_id.strip() == 'hmean': | |
198 hm = stats.hmean( map(float, sample_one), dtype=args.dtype ) | |
199 cols.append( hm ) | |
200 elif test_id.strip() == 'kurtosis': | |
201 k = stats.kurtosis( map(float, sample_one),axis=args.axis, fisher=args.fisher, bias=args.bias ) | |
202 cols.append( k ) | |
203 elif test_id.strip() == 'moment': | |
204 n_moment = stats.moment( map(float, sample_one),n=args.n ) | |
205 cols.append( n_moment ) | |
206 elif test_id.strip() == 'normaltest': | |
207 k2, p_value = stats.normaltest( map(float, sample_one) ) | |
208 cols.append( k2 ) | |
209 cols.append( p_value ) | |
210 elif test_id.strip() == 'skew': | |
211 skewness = stats.skew( map(float, sample_one),bias=args.bias ) | |
212 cols.append( skewness ) | |
213 elif test_id.strip() == 'skewtest': | |
214 z_value, p_value = stats.skewtest( map(float, sample_one)) | |
215 cols.append( z_value ) | |
216 cols.append( p_value ) | |
217 elif test_id.strip() == 'sem': | |
218 s = stats.sem( map(float, sample_one),ddof=args.ddof ) | |
219 cols.append( s ) | |
220 elif test_id.strip() == 'zscore': | |
221 z = stats.zscore( map(float, sample_one),ddof=args.ddof ) | |
222 for list in z: | |
223 cols.append( list ) | |
224 elif test_id.strip() == 'signaltonoise': | |
225 s2n = stats.signaltonoise( map(float, sample_one),ddof=args.ddof ) | |
226 cols.append( s2n ) | |
227 elif test_id.strip() == 'percentileofscore': | |
228 p = stats.percentileofscore( map(float, sample_one),score=args.score,kind=args.kind ) | |
229 cols.append( p ) | |
230 elif test_id.strip() == 'bayes_mvs': | |
231 c_mean, c_var,c_std = stats.bayes_mvs( map(float, sample_one),alpha=args.alpha ) | |
232 cols.append( c_mean ) | |
233 cols.append( c_var ) | |
234 cols.append( c_std ) | |
235 elif test_id.strip() == 'sigmaclip': | |
236 c, c_low,c_up = stats.sigmaclip( map(float, sample_one),low=args.m,high=args.n ) | |
237 cols.append( c ) | |
238 cols.append( c_low ) | |
239 cols.append( c_up ) | |
240 elif test_id.strip() == 'kstest': | |
241 d, p_value = stats.kstest(map(float, sample_one), cdf=args.cdf , N=args.N,alternative=args.alternative,mode=args.mode ) | |
242 cols.append(d) | |
243 cols.append(p_value) | |
244 elif test_id.strip() == 'chi2_contingency': | |
245 chi2, p, dof, ex = stats.chi2_contingency( map(float, sample_one), correction=args.correction ,lambda_=args.lambda_) | |
246 cols.append( chi2 ) | |
247 cols.append( p ) | |
248 cols.append( dof ) | |
249 cols.append( ex ) | |
250 elif test_id.strip() == 'tmean': | |
251 if nf is 0 and mf is 0: | |
252 mean = stats.tmean( map(float, sample_one)) | |
253 else: | |
254 mean = stats.tmean( map(float, sample_one),( mf, nf ),( inclusive1, inclusive2 )) | |
255 cols.append( mean ) | |
256 elif test_id.strip() == 'tmin': | |
257 if mf is 0: | |
258 min = stats.tmin( map(float, sample_one)) | |
259 else: | |
260 min = stats.tmin( map(float, sample_one),lowerlimit=mf,inclusive=args.inclusive) | |
261 cols.append( min ) | |
262 elif test_id.strip() == 'tmax': | |
263 if nf is 0: | |
264 max = stats.tmax( map(float, sample_one)) | |
265 else: | |
266 max = stats.tmax( map(float, sample_one),upperlimit=nf,inclusive=args.inclusive) | |
267 cols.append( max ) | |
268 elif test_id.strip() == 'tvar': | |
269 if nf is 0 and mf is 0: | |
270 var = stats.tvar( map(float, sample_one)) | |
271 else: | |
272 var = stats.tvar( map(float, sample_one),( mf, nf ),( inclusive1, inclusive2 )) | |
273 cols.append( var ) | |
274 elif test_id.strip() == 'tstd': | |
275 if nf is 0 and mf is 0: | |
276 std = stats.tstd( map(float, sample_one)) | |
277 else: | |
278 std = stats.tstd( map(float, sample_one),( mf, nf ),( inclusive1, inclusive2 )) | |
279 cols.append( std ) | |
280 elif test_id.strip() == 'tsem': | |
281 if nf is 0 and mf is 0: | |
282 s = stats.tsem( map(float, sample_one)) | |
283 else: | |
284 s = stats.tsem( map(float, sample_one),( mf, nf ),( inclusive1, inclusive2 )) | |
285 cols.append( s ) | |
286 elif test_id.strip() == 'scoreatpercentile': | |
287 if nf is 0 and mf is 0: | |
288 s = stats.scoreatpercentile( map(float, sample_one),map(float, sample_two),interpolation_method=args.interpolation ) | |
289 else: | |
290 s = stats.scoreatpercentile( map(float, sample_one),map(float, sample_two),( mf, nf ),interpolation_method=args.interpolation ) | |
291 for list in s: | |
292 cols.append( list ) | |
293 elif test_id.strip() == 'relfreq': | |
294 if nf is 0 and mf is 0: | |
295 rel, low_range, binsize, ex = stats.relfreq( map(float, sample_one),args.b) | |
296 else: | |
297 rel, low_range, binsize, ex = stats.relfreq( map(float, sample_one),args.b,( mf, nf )) | |
298 for list in rel: | |
299 cols.append( list ) | |
300 cols.append( low_range ) | |
301 cols.append( binsize ) | |
302 cols.append( ex ) | |
303 elif test_id.strip() == 'binned_statistic': | |
304 if nf is 0 and mf is 0: | |
305 st, b_edge, b_n = stats.binned_statistic( map(float, sample_one),map(float, sample_two),statistic=args.statistic,bins=args.b ) | |
306 else: | |
307 st, b_edge, b_n = stats.binned_statistic( map(float, sample_one),map(float, sample_two),statistic=args.statistic,bins=args.b,range=( mf, nf ) ) | |
308 cols.append( st ) | |
309 cols.append( b_edge ) | |
310 cols.append( b_n ) | |
311 elif test_id.strip() == 'threshold': | |
312 if nf is 0 and mf is 0: | |
313 o = stats.threshold( map(float, sample_one),newval=args.new ) | |
314 else: | |
315 o = stats.threshold( map(float, sample_one),mf,nf,newval=args.new ) | |
316 for list in o: | |
317 cols.append( list ) | |
318 elif test_id.strip() == 'trimboth': | |
319 o = stats.trimboth( map(float, sample_one),proportiontocut=args.proportiontocut ) | |
320 for list in o: | |
321 cols.append( list ) | |
322 elif test_id.strip() == 'trim1': | |
323 t1 = stats.trim1( map(float, sample_one),proportiontocut=args.proportiontocut,tail=args.tail ) | |
324 for list in t1: | |
325 cols.append( list ) | |
326 elif test_id.strip() == 'histogram': | |
327 if nf is 0 and mf is 0: | |
328 hi, low_range, binsize, ex = stats.histogram( map(float, sample_one),args.b) | |
329 else: | |
330 hi, low_range, binsize, ex = stats.histogram( map(float, sample_one),args.b,( mf, nf )) | |
331 cols.append( hi ) | |
332 cols.append( low_range ) | |
333 cols.append( binsize ) | |
334 cols.append( ex ) | |
335 elif test_id.strip() == 'cumfreq': | |
336 if nf is 0 and mf is 0: | |
337 cum, low_range, binsize, ex = stats.cumfreq( map(float, sample_one),args.b) | |
338 else: | |
339 cum, low_range, binsize, ex = stats.cumfreq( map(float, sample_one),args.b,( mf, nf )) | |
340 cols.append( cum ) | |
341 cols.append( low_range ) | |
342 cols.append( binsize ) | |
343 cols.append( ex ) | |
344 elif test_id.strip() == 'boxcox_normmax': | |
345 if nf is 0 and mf is 0: | |
346 ma = stats.boxcox_normmax( map(float, sample_one)) | |
347 else: | |
348 ma = stats.boxcox_normmax( map(float, sample_one),( mf, nf ),method=args.method) | |
349 cols.append( ma ) | |
350 elif test_id.strip() == 'boxcox': | |
351 if imbda is 0: | |
352 box, ma, ci = stats.boxcox( map(float, sample_one),alpha=args.alpha ) | |
353 cols.append( box ) | |
354 cols.append( ma ) | |
355 cols.append( ci ) | |
356 else: | |
357 box = stats.boxcox( map(float, sample_one),imbda,alpha=args.alpha ) | |
358 cols.append( box ) | |
359 elif test_id.strip() == 'histogram2': | |
360 h2 = stats.histogram2( map(float, sample_one), map(float, sample_two) ) | |
361 for list in h2: | |
362 cols.append( list ) | |
363 elif test_id.strip() == 'ranksums': | |
364 z_statistic, p_value = stats.ranksums( map(float, sample_one), map(float, sample_two) ) | |
365 cols.append(z_statistic) | |
366 cols.append(p_value) | |
367 elif test_id.strip() == 'ttest_1samp': | |
368 t, prob = stats.ttest_1samp( map(float, sample_one), map(float, sample_two) ) | |
369 for list in t: | |
370 cols.append( list ) | |
371 for list in prob: | |
372 cols.append( list ) | |
373 elif test_id.strip() == 'ansari': | |
374 AB, p_value = stats.ansari( map(float, sample_one), map(float, sample_two) ) | |
375 cols.append(AB) | |
376 cols.append(p_value) | |
377 elif test_id.strip() == 'linregress': | |
378 slope, intercept, r_value, p_value, stderr = stats.linregress( map(float, sample_one), map(float, sample_two) ) | |
379 cols.append(slope) | |
380 cols.append(intercept) | |
381 cols.append(r_value) | |
382 cols.append(p_value) | |
383 cols.append(stderr) | |
384 elif test_id.strip() == 'pearsonr': | |
385 cor, p_value = stats.pearsonr( map(float, sample_one), map(float, sample_two) ) | |
386 cols.append(cor) | |
387 cols.append(p_value) | |
388 elif test_id.strip() == 'pointbiserialr': | |
389 r, p_value = stats.pointbiserialr( map(float, sample_one), map(float, sample_two) ) | |
390 cols.append(r) | |
391 cols.append(p_value) | |
392 elif test_id.strip() == 'ks_2samp': | |
393 d, p_value = stats.ks_2samp( map(float, sample_one), map(float, sample_two) ) | |
394 cols.append(d) | |
395 cols.append(p_value) | |
396 elif test_id.strip() == 'mannwhitneyu': | |
397 mw_stats_u, p_value = stats.mannwhitneyu( map(float, sample_one), map(float, sample_two), use_continuity=args.mwu_use_continuity ) | |
398 cols.append( mw_stats_u ) | |
399 cols.append( p_value ) | |
400 elif test_id.strip() == 'zmap': | |
401 z = stats.zmap( map(float, sample_one),map(float, sample_two),ddof=args.ddof ) | |
402 for list in z: | |
403 cols.append( list ) | |
404 elif test_id.strip() == 'ttest_ind': | |
405 mw_stats_u, p_value = stats.ttest_ind( map(float, sample_one), map(float, sample_two), equal_var=args.equal_var ) | |
406 cols.append( mw_stats_u ) | |
407 cols.append( p_value ) | |
408 elif test_id.strip() == 'ttest_rel': | |
409 t, prob = stats.ttest_rel( map(float, sample_one), map(float, sample_two), axis=args.axis ) | |
410 cols.append( t ) | |
411 cols.append( prob ) | |
412 elif test_id.strip() == 'mood': | |
413 z, p_value = stats.mood( map(float, sample_one), map(float, sample_two), axis=args.axis ) | |
414 cols.append( z ) | |
415 cols.append( p_value ) | |
416 elif test_id.strip() == 'shapiro': | |
417 W, p_value, a = stats.shapiro( map(float, sample_one), map(float, sample_two), args.reta ) | |
418 cols.append( W ) | |
419 cols.append( p_value ) | |
420 for list in a: | |
421 cols.append( list ) | |
422 elif test_id.strip() == 'kendalltau': | |
423 k, p_value = stats.kendalltau( map(float, sample_one), map(float, sample_two), initial_lexsort=args.initial_lexsort ) | |
424 cols.append(k) | |
425 cols.append(p_value) | |
426 elif test_id.strip() == 'entropy': | |
427 s = stats.entropy( map(float, sample_one), map(float, sample_two), base=args.base ) | |
428 cols.append( s ) | |
429 elif test_id.strip() == 'spearmanr': | |
430 if sample2 == 1 : | |
431 rho, p_value = stats.spearmanr( map(float, sample_one), map(float, sample_two) ) | |
432 else: | |
433 rho, p_value = stats.spearmanr( map(float, sample_one)) | |
434 cols.append( rho ) | |
435 cols.append( p_value ) | |
436 elif test_id.strip() == 'wilcoxon': | |
437 if sample2 == 1 : | |
438 T, p_value = stats.wilcoxon( map(float, sample_one), map(float, sample_two),zero_method=args.zero_method,correction=args.correction ) | |
439 else: | |
440 T, p_value = stats.wilcoxon( map(float, sample_one),zero_method=args.zero_method,correction=args.correction ) | |
441 cols.append( T ) | |
442 cols.append( p_value ) | |
443 elif test_id.strip() == 'chisquare': | |
444 if sample2 == 1 : | |
445 rho, p_value = stats.chisquare( map(float, sample_one), map(float, sample_two),ddof=args.ddof ) | |
446 else: | |
447 rho, p_value = stats.chisquare( map(float, sample_one),ddof=args.ddof) | |
448 cols.append( rho ) | |
449 cols.append( p_value ) | |
450 elif test_id.strip() == 'power_divergence': | |
451 if sample2 == 1 : | |
452 stat, p_value = stats.power_divergence( map(float, sample_one), map(float, sample_two),ddof=args.ddof,lambda_=args.lambda_ ) | |
453 else: | |
454 stat, p_value = stats.power_divergence( map(float, sample_one),ddof=args.ddof,lambda_=args.lambda_) | |
455 cols.append( stat ) | |
456 cols.append( p_value ) | |
457 elif test_id.strip() == 'theilslopes': | |
458 if sample2 == 1 : | |
459 mpe, met, lo, up = stats.theilslopes( map(float, sample_one), map(float, sample_two),alpha=args.alpha ) | |
460 else: | |
461 mpe, met, lo, up = stats.theilslopes( map(float, sample_one),alpha=args.alpha) | |
462 cols.append( mpe ) | |
463 cols.append( met ) | |
464 cols.append( lo ) | |
465 cols.append( up ) | |
466 elif test_id.strip() == 'combine_pvalues': | |
467 if sample2 == 1 : | |
468 stat, p_value = stats.combine_pvalues( map(float, sample_one),method=args.med,weights=map(float, sample_two) ) | |
469 else: | |
470 stat, p_value = stats.combine_pvalues( map(float, sample_one),method=args.med) | |
471 cols.append( stat ) | |
472 cols.append( p_value ) | |
473 elif test_id.strip() == 'obrientransform': | |
474 ob = stats.obrientransform( *b_samples ) | |
475 for list in ob: | |
476 elements = ','.join( map(str, list) ) | |
477 cols.append( elements ) | |
478 elif test_id.strip() == 'f_oneway': | |
479 f_value, p_value = stats.f_oneway( *b_samples ) | |
480 cols.append(f_value) | |
481 cols.append(p_value) | |
482 elif test_id.strip() == 'kruskal': | |
483 h, p_value = stats.kruskal( *b_samples ) | |
484 cols.append(h) | |
485 cols.append(p_value) | |
486 elif test_id.strip() == 'friedmanchisquare': | |
487 fr, p_value = stats.friedmanchisquare( *b_samples ) | |
488 cols.append(fr) | |
489 cols.append(p_value) | |
490 elif test_id.strip() == 'fligner': | |
491 xsq, p_value = stats.fligner( center=args.center,proportiontocut=args.proportiontocut,*b_samples ) | |
492 cols.append(xsq) | |
493 cols.append(p_value) | |
494 elif test_id.strip() == 'bartlett': | |
495 T, p_value = stats.bartlett( *b_samples ) | |
496 cols.append(T) | |
497 cols.append(p_value) | |
498 elif test_id.strip() == 'levene': | |
499 w, p_value = stats.levene( center=args.center,proportiontocut=args.proportiontocut,*b_samples ) | |
500 cols.append(w) | |
501 cols.append(p_value) | |
502 elif test_id.strip() == 'median_test': | |
503 stat, p_value, m, table = stats.median_test( ties=args.ties,correction=args.correction ,lambda_=args.lambda_,*b_samples ) | |
504 cols.append(stat) | |
505 cols.append(p_value) | |
506 cols.append(m) | |
507 cols.append(table) | |
508 for list in table: | |
509 elements = ','.join( map(str, list) ) | |
510 cols.append( elements ) | |
511 outfile.write( '%s\n' % '\t'.join( map(str, cols) ) ) | |
512 outfile.close() | |
513 | |
514 if __name__ == '__main__': | |
515 main() |