def pairwise_welchs_ttest(*samples, **options):
"""Perform pairwise Welch's t-test."""
names = options.get("names")
sort = options.get("sort")
table_fmt = options.get("table_fmt", "grid")
out = options.get("out", sys.stdout)
if not names:
names = [
sample and sample[0].use_case.title().replace('_', ' ')
for sample in samples
]
if sort:
names, samples = zip(*sorted(zip(names, samples)))
samples = [np.array(sample, dtype='float') for sample in samples]
len_samples = len(samples)
table = list()
for index, sample_one in enumerate(samples):
row = list()
for sample_two in samples[:index]:
row.append(_format_test_result(ttest_ind(
sample_one, sample_two,
equal_var=False
)))
row.extend(["--"]*(len_samples-index))
table.append(row)
out.write(tabulate(table, headers=names, showindex=names, tablefmt=table_fmt))
out.write("\n")
评论列表
文章目录