TableOne数据分析工具
TableOne 数据分析工具
前面学习了统计描述和统计假设的 Python 方法,分析数据表时,需要先确定因变量 Y,然后对自变量 X 逐一分析,最后将结果组织成数据表作为输出,还是比较麻烦,使用 TableOne 工具可以简化这一过程。
TableOne 是生成统计表的工具,常用于生成论文中的表格,TableOne 底层也基于 scipy 和 statsmodels 模块实现,其代码主要实现了根据数据类型调用不同统计工具,以及组织统计结果的功能。它支持 Python 和 R 两种语言,可使用以下方法安装:
1 | $ pip install tableone |
TableOne 的核心代码只有 800 多行,建议下载其源码,阅读核心代码文件 tableone.py,以了解其全部功能和工作流程,并从中借鉴统计分析的具体方法。
1 | git clone https://github.com/tompollard/tableone |
下例中分析了 96 年美国大选数据,用 groupby 参数指定了其因变量,categorical 参数指定了自变量中的分类型变量,使用 pval=True 指定了需要计算假设检验结果,程序最后将结果保存到 excel 文件中。
1 | import statsmodels as sm |
表列出了程序的部分输出结果,对于连续变量 popul,在统计检验中,用两样本 T 检验方法计算出 p 值,在统计描述中,计算出 popul 的均值和标准差;对于分类变量 TWnews,使用卡方检验计算出其 p 值,并统计出其各分类的例数及占比;表中还展示出对于因变量各类别的记数,空值个数,离群点,以及非正态变量的统计结果。
对于分类型因变量,使用 groupby 指定其变量名,对于连续型因变量,一般不指定 groupby 值,TableOne 只进行统计描述。
作为小工具,TableOne 也有它的局限性,比如它只能对分类型的因变量 Y 做统计假设,又如它只能按数据类型自动匹配检验方法,不能手动指定具体的假设检验方法,不支持多变量分析等等,可能解决不了所有数据统计问题。但它使用方便,大大简化了分析流程,能在分析初期展示出数据的概况,尤其对于不太熟悉数据分析方法的编程者给出了较好的统计结果。
技巧
table.cont_table 用于连续变量 -->读取 DataFrame 格式
table.cat_table 用于离散变量 -->读取 DataFrame 格式
table.tableone 用于整体输出 -->读取 DataFrame 格式
选取 P 值小于 0.05 的
1 | def conv(x): |