def tukeys_range_test(table, response_cols, factor_col, alpha=0.05): rb = ReportBuilder() rb.addMD("""## Tukey's range test Result""") for response_col in response_cols: data = table[response_col] posthoc = pairwise_tukeyhsd(data, table[factor_col], alpha=alpha) posthoc_html = posthoc._results_table.as_html() posthoc.plot_simultaneous() rb.addMD("""### {response_col}""".format(response_col=response_col)) rb.addHTML(posthoc_html) rb.addPlt(plt) plt.clf() return {'result': {'report': rb.get()}}
def default(self, o): # TODO add more support types if isinstance(o, set): return {'__set__': list(o)} elif isinstance(o, numpy.ndarray): return {'__numpy__': _to_default_list(o)} elif hasattr(o, '_repr_html_'): rb = ReportBuilder() rb.addHTML(o._repr_html_()) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))} elif hasattr(o, 'savefig'): rb = ReportBuilder() rb.addPlt(o) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))} else: rb = ReportBuilder() rb.addRawTextMD(str(o)) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
def _correlation(table, vars, method='pearson', height=2.5, corr_prec=2): size = len(vars) s_default = plt.rcParams['lines.markersize']**2. scatter_kws = {"s": s_default * height / 6.4} corr_arr = np.ones((size, size)) # TODO variable name dict p_arr = np.zeros((size, size)) for i in range(size): for j in range(i): if method == 'pearson': r, p = stats.pearsonr(table[vars[i]], table[vars[j]]) elif method == 'spearman': r, p = stats.spearmanr(table[vars[i]], table[vars[j]]) elif method == 'kendal': r, p = stats.kendalltau(table[vars[i]], table[vars[j]]) corr_arr[i][j] = r p_arr[i][j] = p for i in range(size): for j in range(i, size): corr_arr[i][j] = corr_arr[j][i] p_arr[i][j] = p_arr[j][i] def corr(x, y, **kwargs): if kwargs['method'] == 'pearson': r, p = stats.pearsonr(x, y) elif kwargs['method'] == 'spearman': r, p = stats.spearmanr(x, y) elif kwargs['method'] == 'kendal': r, p = stats.kendalltau(x, y) p_stars = '' if p <= 0.05: p_stars = '*' if p <= 0.01: p_stars = '**' if p <= 0.001: p_stars = '***' corr_text = '{:.{prec}f}'.format(r, prec=corr_prec) print(type(corr_prec)) font_size = abs(r) * 15 * 2 / corr_prec + 5 ax = plt.gca() ax.annotate(corr_text, [ .5, .5, ], xycoords="axes fraction", ha='center', va='center', fontsize=font_size * height) ax.annotate(p_stars, xy=(0.65, 0.6), xycoords=ax.transAxes, color='red', fontsize=17 * height) g = sns.PairGrid(table, vars=vars, height=height) g.map_diag(sns.distplot) if method == 'pearson': g.map_lower(sns.regplot, scatter_kws=scatter_kws) else: g.map_lower(sns.regplot, lowess=True, scatter_kws=scatter_kws) g.map_upper(corr, method=method) rb = ReportBuilder() rb.addPlt(plt) plt.clf() params = {'vars': vars, 'method': method, 'height': height} res = dict() res['params'] = params res['corr'] = corr_arr res['pvalue'] = p_arr res['report'] = rb.get() return {'result': res}
return super(DefaultEncoder, self).encode(hint_tuples(obj)) def default(self, o): <<<<<<< HEAD # TODO add more support types if isinstance(o, set): return {'__set__': list(o)} elif isinstance(o, numpy.ndarray): return {'__numpy__': _to_default_list(o)} elif hasattr(o, '_repr_html_'): rb = ReportBuilder() rb.addHTML(o._repr_html_()) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))} elif hasattr(o, 'savefig'): rb = ReportBuilder() rb.addPlt(o) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))} else: rb = ReportBuilder() rb.addRawTextMD(str(o)) return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))} ======= if isinstance(o, set): return {'__set__': list(o)} elif isinstance(o, numpy.ndarray): return {'__numpy__': o.tolist()} # TODO add more support types # return {'__pickled__': list(pickle.dumps(o))} elif hasattr(o, '_repr_html_'): rb = BrtcReprBuilder() rb.addHTML(o._repr_html_())