最近发现一个做人口统计学的R包——compareGroups,(一直很懒,一直在找)基本上实现一行代码。
library(compareGroups) # load compareGroups package
data(predimed) # load example data
head(predimed) # read the first six rows
复制
找了个predimed公开数据演示, 前6行的数据, 连续变量有符合正态分布和非正态的:
一行代码就可以
tab <- descrTable(group ~ . ,
predimed,hide.no="no",
method=c(wth=NA, p14=NA))
复制
group ~ . : 表示的是将group作为分组变量,对data.frame里所有的变量都进行统计。
method 是指定变量的分布, 1指定为正态分布, 2指定为非正态, NA是自动根据Shapiro-Wilks检验来计算正态性。
hide.no用来隐藏某些yes/no分类变量中no的比率。
tab <- descrTable(group ~sex+age+bmi+smoke+htn, predimed,
hide = c(sex = "male"),
hide.no="no",method=c(Age=NA, bmi=NA),
subset=age>60)
复制
如果只选定部分变量分析可在group~添加, 对于AD的研究,性别部分一般只看female的比率, 在hide里可以隐藏male, subset可以根据某个变量范围, 例子中可以只选择age > 60的被试。
CRAN上作者一直保持在更新, 功能也很全面,例如:
show.p.overall = TRUE : 可以计算组间两两比较, 且可以展示多重比较校正后的p值。
method设定NA后,对于非正态连续,median[quantiles], 正态则均值标准差。
可以画分层后的基线特征表。
支持CSV/HTML/LaTeX/PDF/Markdown/Word/Excel输出,export2csv, export2word等等。
.................
使用也有几个局限:
部分期刊对于人口表有特别要求, 可能不一定满足,但是对于多组,多变量的人口表,还是可以节省时间,也不会出错。
descrTable目前好像还不报道estimate和estimate的%95CI, 可能需要摸索下。
这是descrTable所有参数, 有兴趣自行探索。
descrTable(formula,
data, subset,
na.action = NULL, y = NULL,
Xext = NULL, selec = NA,
method = 1, timemax = NA,
alpha = 0.05, min.dis = 5,
max.ylev = 5, max.xlev = 10,
include.label = TRUE, Q1 = 0.25, Q3 = 0.75,
simplify = TRUE, ref = 1, ref.no = NA,
fact.ratio = 1, ref.y = 1, p.corrected = TRUE,
compute.ratio = TRUE, include.miss = FALSE,
oddsratio.method = "midp", chisq.test.perm = FALSE,
byrow = FALSE, chisq.test.B = 2000,
chisq.test.seed = NULL, Date.format = "d-mon-Y",
var.equal = TRUE, conf.level = 0.95, surv = FALSE,
riskratio = FALSE, riskratio.method = "wald",
compute.prop = FALSE, lab.missing = "'Missing'",
hide = NA, digits = NA, type = NA,
show.p.overall = TRUE, show.all,
show.p.trend, show.p.mul = FALSE,
show.n, show.ratio = FALSE, show.descr = TRUE,
show.ci = FALSE, hide.no = NA, digits.ratio = NA,
show.p.ratio = show.ratio, digits.p = 3,
sd.type = 1, q.type = c(1, 1),
extra.labels = NA, all.last = FALSE)
复制
包的参数manual:
https://cran.r-project.org/web/packages/compareGroups/compareGroups.pdf
使用manual:
https://cran.r-project.org/web/packages/compareGroups/vignettes/compareGroups_vignette.html
一个中文的较全面总结:
https://mp.weixin.qq.com/s/WDr9mwsv8--NPLEBjtRiZA
还有几个类似的可做demongraphic info的包: table1, demoGraphic, gtsummary等等
End

﹀
﹀
﹀
欢迎各位分享好用的工具、函数