输出分组_ClinReport包,输出高质量的临床统计报告结果

b1f020a9f5e3006800f97efcda54233a.png

今天在逛R包网站时,又看到一个有意思的R包——ClinReport。

看名字,这个包跟临床报告有关系。

查了下R包介绍,这个包是专门用于统计报告的R包。

ClinReport包可以根据常见的临床报告标准,以一种容易阅读和理解的格式将R中的统计输出结果,比如说表格和图形,导出到Word文档或者R markdown文档中。

并且这种输出格式适用于所有出版物,也可以在流行病学研究或临床试验范围内使用。

看到这里,就觉得这个包好强大!!

下面来学习下这个R包。


目 录

  • 1. 安装和加载R包

  • 2. 加载演示数据集

  • 3. 输出连续资料统计信息

    • 3.1 简单描述统计信息

    • 3.2 添加一个分组变量

    • 3.3 添加2个分组变量

    • 3.4 结果可视化

    • 3.5 自定义统计函数

  • 4. 输出分类资料统计信息

    • 4.1 输出简单统计信息

    • 4.2 添加一个分组变量

    • 4.3 添加2个分组变量

  • 5. 输出结果


1. 安装和加载R包

安装有两种方法,一种从CRAN安装;一种是从gitHub安装开发版本。

install.packages("ClinReport") # 安装包
library(ClinReport) # 加载包

# 从gitHub安装
# library(devtools) 
# install_github("jfrancoiscollin/ClinReport")

我是从gitHub安装的,CRAN安装失败了。

还需要安装和加载下officer包和flextable包用于表格输出到Word文档。

install.packages("officer") # 安装包
install.packages("flextable") # 安装包
library(officer)# 加载包
library(flextable)# 加载包

2. 加载演示数据集

首先加载下演示数据集,使用datafake数据集进行演示。

data(datafake) # 加载数据集
2b9a819919c317d2f52969498844d4ee.png

这个数据是R包自带的虚拟数据集,有396行观测对象和8个变量。

str(datafake) # 查看数据集结构

5af2420fe5ccd9917e987169dbf32e69.png

从上面的输出结果可以看出,y_numeric、y_poisson、baseline为连续变量,其余变量为因子。

3. 输出连续资料统计信息

下面来学习这个R包怎么使用。

在这个包里面,report.quanti()函数可以输出连续变量的描述统计信息。

3.1 简单描述统计信息

先来个简单的,比如说输出datafake数据集中y_numeric变量的统计信息。

report.quanti(data=datafake,
              y="y_numeric")

先指定数据集,然后将要输出的连续变量传递给y参数。

a69ac2112849d892b97dc7c654aea3bf.png

可以添加其他参数输出更复杂的结果。比如说修改变量标签,添加total列。

report.quanti(data=datafake,
              y="y_numeric",
              total=TRUE,
              y.label="修改后的结果标签显示")

519e1fa1289a59aedcec083bb58c4966.png

上面连续变量计算的是算术平均值,还可以计算几何平均值。

report.quanti(data=datafake,
              y="y_numeric",
              geomean=TRUE) # 计算几何均值

bb5f126eb4da624410d25a2d1592e98a.png

3.2 添加一个分组变量

上面的结果中,y参数只有一列,可以添加一个分组变量,输出更复杂的信息。比如说GROUP变量为三分类变量。

report.quanti(data = datafake,
              y="y_numeric",
              x1="GROUP")  # 指定分组变量
f98576d5ca47e651c0fbd846638393a6.png

这里同样可以添加total列,直接看结果。

b50f2de134ae6ff16abe83ec954a720d.png

3.3 添加2个分组变量

在上面的演示中,添加了一个分组变量,而且显示为列的形式,还可以在结果信息中添加一个分组变量,显示为行的形式。比如说TIMEPOINT变量为5分类变量。

report.quanti(data=datafake,
              y="y_numeric",
              x1="GROUP",
              x2="TIMEPOINT")
d5804e9140a6f846750804b6b711bda2.png

这里同样可以添加total列,结果不显示了,自己运行下试试。

还可以在表头显示受试者的数目。

report.quanti(data=datafake,
              y="y_numeric",
              x1="GROUP",
              total=TRUE,
              subjid="SUBJID") # 显示受试者数目
cc882543d260b57af35b56fdcd217a08.png

3.4 结果可视化

除了表格显示结果,还可以使用图形来可视化结果,比如说可视化均值结果。

tab1                       y="y_numeric",
                      x1="GROUP",
                      x2="TIMEPOINT",
                      subjid="SUBJID")
tab1

gg            title="Mean response evolution as a function of time by treatment group",
           legend.label="Treatment groups",
           ylab="Y mean")
gg
178c1c16f074fcccce61eda30b9884fb.png

3.5 自定义统计函数

除了上面这些输出信息外,还可以自定义统计函数,输出自己想要的结果。

mystat=function(x) quantile(x,0.99,na.rm=TRUE)
tab                   y="y_numeric",
                  x1="GROUP",
                  x2="TIMEPOINT",
                  total=TRUE,subjid="SUBJID",
                  func.stat=mystat,
                  func.stat.name="99% quantile")
tab

4972aa8faf4efa999e2441cc27c9589d.png

mystat2=function(x) mean(x,na.rm=TRUE)/sd(x,na.rm=TRUE)
tab=report.quanti(data=datafake,
                  y="y_numeric",
                  x1="GROUP",
                  total=TRUE,
                  subjid="SUBJID",
                  func.stat=mystat2,
                  func.stat.name="Coefficient of variation")
tab

044708fd9434f5ad2253c3eae0b197c0.png

连续变量的结果输出就学到这里,更详细的可以自行查阅R包。

4. 输出分类资料统计信息

在这个包里面,report.quali()函数可以输出分类变量的描述统计信息。

4.1 输出简单统计信息

如下所示,直接将分类变量传递给y参数即可输出统计结果。

report.quali(data=datafake,
             y="y_logistic")
e85a1eb1089a0d2085972045054c1ff7.png

可以添加参数修改输出结果,比如说修改分别变量标签。

report.quali(data=datafake,
             y="y_logistic",
             y.label="Clinical cure",
             y.levels.label="Levels")

68ab07fca7a655ff845be2dae4fe2633.png

4.2 添加一个分组变量

上面的结果中,y参数只有一列,可以添加一个分组变量,输出更复杂的信息。比如说GROUP变量为三分类变量。

report.quali(data=datafake,
             y="y_logistic",
             x1="GROUP",
             y.levels.label="Clinical cure")

85ba2c21216e308eb8adab07081a2d1d.png

4.3 添加2个分组变量

在上面的演示中,添加了一个分组变量,而且显示为列的形式,还可以在结果信息中添加一个分组变量,显示为行的形式。比如说TIMEPOINT变量为5分类变量。

report.quali(data=datafake,y="y_logistic",
             x1="GROUP",
             x2="TIMEPOINT",
             y.levels.label="Clinical cure",
             x2.label="Days", 
             at.row="Days")

10828ca99db12a5d7749e73c1583eee0.png

在上面的结果,显示的百分比结果是列百分比,可以调整参数,显示行百分比结果。

report.quali(data=datafake,
             y="y_logistic",
             x1="GROUP",
             x2="TIMEPOINT",
             percent.col=FALSE,
             x2.label="Days",
             y.levels.label="Clinical cure")
3c6cf7d4d7be70b9a71959a39657fbe9.png

同样可以添加参数subjid="SUBJID"显示受试者数目,并且调整输出结果数字位数为1位。

report.quali(data=datafake,y="y_logistic",x1="GROUP",
             x2="TIMEPOINT",at.row="TIMEPOINT",
             subjid="SUBJID",
             round=1) # 设置小数位数位1位

0038a103fd1f90c847a6bb80b716bce3.png

分类变量的结果输出就学到这里,更详细的可以自行查阅R包。

5. 输出结果

在前面讲了,这个包可以根据常见的临床报告标准,以一种容易阅读和理解的格式将R中的统计输出结果,比如说表格和图形,导出到Word文档或者R markdown文档中。

下面来学习下怎么导出表格到Word里面。

# 创建一个空的word文档
doc 
# 将表格添加到word里面
doc                   title="演示示例表格",
                  doc = doc) 

# 设置输出路径和输出表格文件的名称
file "C://Rdata//输出表格", ".docx",sep="") 

# 输出表格
print(doc, target =file)
af114349ca0b0a6b2b886aac275b38ff.png
结果未显示完全

显示的样式如上图所示,显示结果样式还是可以的。

参考资料
  1. ClinReport包帮助资料

既往专辑

711f2c480836dbac2efd91d942e30f72.png

bf76956698b59b1613b618be6f3a4eef.png

0210fef54d32072aa6cc1ba0dfc12f50.png

c8c0f6e44f831b2114ef86dd5a61d8e0.png

69650afe74a3fcc53abed1373e82f2ab.png

7bbc8366292bf404a99ec46ce9bf8684.png

b957087ae85afbc61246556a996dcbba.png

dae470f5dd9c64af87147b7825e368ab.png

57b658c36efc02d6dc35114cb07a858a.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值