如何从statannotations中进行的分析中提取stat值和p值?
这是我的示例代码:
args = dict(x="disease_state", y=gene_of_interest, order=['Normal', 'Tumour'])
g = sns.catplot(col="cohort", kind="box", height=4, col_wrap = 4, aspect=.7, sharey=False, data=paired, **args, color='white')
g.map(sns.stripplot, args["x"], args["y"], order=args["order"], palette=sns.color_palette(), dodge=True)
pairs=[("Tumour", "Normal")]
for name, ax in g.axes_dict.items():
# subset the table to generate stats
annot = Annotator(ax, pairs, **args, data=paired.loc[paired['cohort']==name,:])
annot.configure(test='Wilcoxon', text_format='simple', comparisons_correction="BH", verbose=2, loc='inside')
annot.apply_test().annotate()
我想我需要使用统计模块,但我不确定如何使用。
根据他们GitHub页面中的示例https://github.com/trevismd/statannotations/blob/master/usage/example.ipynb,";Annotation方法返回元组ax,annotations,其中annotations是Annotation对象的列表。Annotation的数据属性是一个StatResult对象,它包含组的原始数据(方框图的方框(和统计测试结果(p值等(">
在您的示例中,
_,test_results=annot.annate((
应该会为您提供统计结果。对于特定的比较测试,您可以使用For循环,例如:
对于test_results中的res:打印(res.data(
从这里开始,将其保存为所需的任何格式都很简单。
您可以使用访问与注释相关的统计值
annot.data.stat_value
同样适用于p值。