自动生成临床三线表
按照流行病学和相关领域的标准做法是,期刊文章的第一张表格,我们通常称为“表1”,是一份表,列出按暴露程度分层的研究人群基线特征的描述性统计数据。这个包使得使用R生成这样一个表相当简单。输出格式是html(它的优点是很容易复制到Word文档中;Chrome浏览器工作得很好)。
实际上这个包还能够对表格有更多定制的功能,但这样用起来爽是需要代价的,更多的代码与CSS知识
官方文档参考资料(https://benjaminrich.github.io/table1/vignettes/table1-examples.html)
R包table1
if(!require(table1)) install.packages("table1",ask=F,update=F)
## Loading required package: table1
## Warning: package 'table1' was built under R version 3.6.1
##
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
##
## units, units
require(table1)
Example1
使用boot包中的自带数据
melanoma数据集
library(boot)
## Warning: package 'boot' was built under R version 3.6.1
melanoma2
head(melanoma)
## time status sex age year thickness ulcer
## 1 10 3 1 76 1972 6.76 1
## 2 30 3 1 56 1968 0.65 0
## 3 35 2 1 41 1977 1.34 0
## 4 99 3 0 71 1968 2.90 0
## 5 185 1 1 52 1965 12.08 1
## 6 204 1 1 28 1971 4.84 1
dim(melanoma)
## [1] 205 7
## input melanoma是一个数据框
## 对我们感兴趣的变量因子化
melanoma2$status
factor(melanoma2$status,
levels=c(2,1,3),
labels=c("Alive", # 第一个作为参考组
"Melanoma death",
"Non-melanoma death"))
可以来绘制一个表格试试,意思就是以感兴趣的因子作为分类status,同理这个status可以是任意大家感兴趣的变量。
格式为~感兴趣的基线变量|感兴趣的分类变量,data
table1(~ factor(sex) + age + factor(ulcer) + thickness | status, data=melanoma2)
image.png
这样的表格已经可以了,但仍然可以改进
基线分类变量sex,ulcer没有很好的label,基线的连续型变量可以指定单位units,下面来improve
## 给分类变量sex指定标签
melanoma2$sex