教程 | Hey, Table 1 这么生成可以偷懒

Table 1一般是关于被试的summary statistics. 制作这个表,大概用过以下几种方式:

1. 数据导入SPSS,计算然后手动填入表格

2. 使用matlab代码统计信息,手动填入表格

3. 使用R的package生成表格

那天Excel已经准备好,正要打开matlab开始写code做统计的时候,我觉得应该有一个更好的解决方案。手动填写这些信息的话,筛选被试的条件发生改变时,意味着你将再一次手动填写同类内容。虽然Table 1往往是放到最后生成的,但是也难以避免需要多次反复生成的命运,所以还是使用code比较省心。btw,分析数据时的图表能用code就用code,手动参与的越多,修改的时候也越痛苦。

811cc420a77734287bc514dc86e5ee42.png

2069e78745bba4bb29043f43679def68.gif

今天分享一个生成基本统计信息的软件包qwraps2.

其实这样的工具包有很多:

  • arsenal

  • qwraps2

  • amisc

  • table1

  • tangram

  • furniture

  • tableone

  • compareGroups

  • htmltable

这些package的横评和使用见此文章:

5b34c83a8434862f266a47b3a146be2a.png

46827bfba8d3a5be213f8b5f98404faf.png

大概内容就是哪个可以显示missing value,哪个只能生成html的形式,哪个的代码少更简洁。这些package的原理应该都大同小异,最后选择使用qwraps2的原因是它的使用逻辑清晰,在p值计算和重命名变量名称上有很多的flexibility,使用之后感觉疗效不错。

2cc712f6d0a6bfddc9dcf6f61225924b.gif

qwraps2使用流程

  1. 定义输出的格式

    d41aa49f89caebd6a2604c318e628efe.png

    对于连续变量可以统计min/max/mean等信息,

    对于分类变量可统计个数和百分比

  2. 生成表

    格式是 summary_table(data, summary_format)

    0e69c9a2bad794e7b7502b2fab7de523.png

    d34b074f1980391f0a6f56adee4f6e83.png

    如果需要根据某个条件进行分类统计,使用dplyr的group_by即可

    eb39f9e9d69cc1e4cc332dd881cc37dd.png

    e8b9837ed31fdadc6a17758d1208a0fa.png

  3. 按需增加p值的统计方式

    1. 计算连续变量的p值

      98cdd2e7e1a05782331b11a63be651ab.png

      这里使用的是简单的线性模型

    2. 计算分类变量的p值

      d0bb56fd5aa0b547bcd3170936a73d6b.png

  4. 增加p值

    026cad53ed9e0ab9b6d54267114507af.png

    80706d9c96fbb18c81b5c23ff76b1b5e.png

    原理是首先增加一列,然后查找相应的关键字,加入p值。这部分代码只对markdown的输出形式有效!这个软件默认的输出格式是latex,所以需要提前修改默认的输出形式。当然如果你选择自己写code查找替换latex的内容,也是可以的。。

    f266962fe8b2a8afd34e2d58f1881c45.png

  5. 使用pandoc转化成docx

    之前步骤中看到的表其实是html显示markdown的效果,在R中的输出是这样的:

    Latex

    bf2aeacaf973671e94dc0166aa1f9e6f.png

    Markdown

    8fcf89e5e3bf637956356f8c5abd4531.png

    因此要将output粘贴到相应后缀名.md或者.tex文件中,使用pandoc转化成docx。

详情可以参阅该package的vignette

7f9a72a62a3873549873d6eb51cac2d3.gif

最后附上一个自己的example:

1. 定义输出格式

sex/handedness/BSL PDS计算个数和百分比

age/mean FD计算mean和SD

8c706b549019e63de4852627c3216bfe.png

2. 生成表

78a44a7afb488e07309355965dad6e53.png

3. 增加p值

age/mean FD使用简单的线性模型统计组间差异

sex/pds/handedness使用chi-square统计组间差异

这里根据需要选取统计方式

ea6dda062968436c0967a0ea5a0905a6.png

29454a5072aad1776dc5b08cf92df64c.png

最后将输出复制到文件中,使用pandoc转换成docx

pandoc test.md -o test.docx

44492b3b3c54bc6846045e0531854f5b.png

2694cab88108cb1e17c0831dfc1f5756.gif

Bonus: Mann-Whitney-Wilcoxon Test使用这个fomular

efcef898b4197f824eb2d96b60e5976a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值