Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
TOST 0.5 5 0.954854
3. One sample TOST
>>> pg.tost(a, y=0, bound=4)
bound dof pval
TOST 4 5 0.825967
"""
x = np.asarray(x)
y = np.asarray(y)
assert isinstance(bound, (int, float)), 'bound must be int or float.'
# T-tests
df_a = ttest(x + bound, y, paired=paired, correction=correction,
tail='greater')
df_b = ttest(x - bound, y, paired=paired, correction=correction,
tail='less')
pval = max(df_a.at['T-test', 'p-val'], df_b.at['T-test', 'p-val'])
# Create output dataframe
stats = {'bound': bound, 'dof': df_a.at['T-test', 'dof'], 'pval': pval}
return pd.DataFrame.from_records(stats, index=['TOST'])
>>> pg.tost(a, b, bound=0.5, paired=True)
bound dof pval
TOST 0.5 5 0.954854
3. One sample TOST
>>> pg.tost(a, y=0, bound=4)
bound dof pval
TOST 4 5 0.825967
"""
x = np.asarray(x)
y = np.asarray(y)
assert isinstance(bound, (int, float)), 'bound must be int or float.'
# T-tests
df_a = ttest(x + bound, y, paired=paired, correction=correction,
tail='greater')
df_b = ttest(x - bound, y, paired=paired, correction=correction,
tail='less')
pval = max(df_a.at['T-test', 'p-val'], df_b.at['T-test', 'p-val'])
# Create output dataframe
stats = {'bound': bound, 'dof': df_a.at['T-test', 'dof'], 'pval': pval}
return pd.DataFrame.from_records(stats, index=['TOST'])
stats[cols_bool] = stats[cols_bool].astype(bool)
# Fill str columns
stats.loc[:, 'A'] = A
stats.loc[:, 'B'] = B
stats.loc[:, 'Contrast'] = col
stats.loc[:, 'Tail'] = tail
stats.loc[:, 'Paired'] = paired
for i in range(stats.shape[0]):
col1, col2 = stats.at[i, 'A'], stats.at[i, 'B']
x = grp_col.get_group(col1).to_numpy(dtype=np.float64)
y = grp_col.get_group(col2).to_numpy(dtype=np.float64)
if parametric:
stat_name = 'T'
df_ttest = ttest(x, y, paired=paired, tail=tail)
stats.at[i, 'BF10'] = df_ttest.at['T-test', 'BF10']
stats.at[i, 'dof'] = df_ttest.at['T-test', 'dof']
else:
if paired:
stat_name = 'W-val'
df_ttest = wilcoxon(x, y, tail=tail)
else:
stat_name = 'U-val'
df_ttest = mwu(x, y, tail=tail)
# Compute Hedges / Cohen
ef = np.round(compute_effsize(x=x, y=y, eftype=effsize,
paired=paired), 3)
if return_desc:
stats.at[i, 'mean(A)'] = np.round(np.nanmean(x), 3)