Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
for c in covar:
formula += ' + ' + c
model = ols(formula, data=data).fit()
aov = stats.anova_lm(model, typ=2).reset_index()
aov.rename(columns={'index': 'Source', 'sum_sq': 'SS',
'df': 'DF', 'PR(>F)': 'p-unc'}, inplace=True)
aov.at[0, 'Source'] = between
aov['DF'] = aov['DF'].astype(int)
aov[['SS', 'F']] = aov[['SS', 'F']].round(3)
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
return aov
'p-GG-corr': [p_a_corr, p_b_corr, p_ab_corr],
'np2': [eta_a, eta_b, eta_ab],
'eps': [eps_a, eps_b, eps_ab],
})
col_order = ['Source', 'SS', 'ddof1', 'ddof2', 'MS', 'F', 'p-unc',
'p-GG-corr', 'np2', 'eps']
# Round
aov[['SS', 'MS', 'F', 'eps', 'np2']] = aov[['SS', 'MS', 'F', 'eps',
'np2']].round(3)
aov = aov.reindex(columns=col_order)
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
return aov
'SS': np.round([ss_fac1, ss_fac2, ss_inter,
ss_resid], 3),
'DF': [df_fac1, df_fac2, df_inter, df_resid],
'MS': np.round([ms_fac1, ms_fac2, ms_inter,
ms_resid], 3),
'F': [fval_fac1, fval_fac2, fval_inter, np.nan],
'p-unc': [pval_fac1, pval_fac2, pval_inter, np.nan],
'np2': [np2_fac1, np2_fac2, np2_inter, np.nan]
})
col_order = ['Source', 'SS', 'DF', 'MS', 'F', 'p-unc', 'np2']
aov = aov.reindex(columns=col_order)
aov.dropna(how='all', axis=1, inplace=True)
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
return aov
f_b = ms_b / ms_w
# P-values
p_c = f(df_c, df_w).sf(f_c)
p_b = f(df_b, df_w).sf(f_b)
# Create dataframe
aov = pd.DataFrame({'Source': [between, covar, 'Residual'],
'SS': [ss_b, ss_c, ss_w],
'DF': [df_b, df_c, df_w],
'F': [f_b, f_c, np.nan],
'p-unc': [p_b, p_c, np.nan],
})
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
# Add bw as an attribute (for rm_corr function)
aov.bw_ = bw
return aov
col_order = ['Source', 'SS', 'DF1', 'DF2', 'MS', 'F', 'p-unc',
'p-GG-corr', 'np2', 'eps', 'sphericity', 'W-spher',
'p-spher']
# Replace NaN
aov = aov.fillna('-')
aov = aov.reindex(columns=col_order)
aov.dropna(how='all', axis=1, inplace=True)
# Round
aov[['F', 'eps', 'np2']] = aov[['F', 'eps', 'np2']].round(3)
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
return aov
return x.replace(':', ' * ')
aov['Source'] = aov['Source'].apply(format_source)
# Re-index and round
col_order = ['Source', 'SS', 'DF', 'MS', 'F', 'p-unc', 'np2']
aov = aov.reindex(columns=col_order)
aov[['SS', 'MS', 'F', 'np2']] = aov[['SS', 'MS', 'F', 'np2']].round(3)
aov.dropna(how='all', axis=1, inplace=True)
# Add formula to dataframe
aov.formula_ = formula
# Export to .csv
if export_filename is not None:
_export_table(aov, export_filename)
return aov
# Create output dataframe
stats = pd.DataFrame({'Source': between,
'ddof1': ddof1,
'H': np.round(H, 3),
'p-unc': p_unc,
}, index=['Kruskal'])
col_order = ['Source', 'ddof1', 'H', 'p-unc']
stats = stats.reindex(columns=col_order)
stats.dropna(how='all', axis=1, inplace=True)
# Export to .csv
if export_filename is not None:
_export_table(stats, export_filename)
return stats