R

R语言笔记——使用tableone包快速绘制科技论文中基线表格

2020-05-04  本文已影响0人  Snown123

科研汪A:基线表格制作起来真丫麻烦!

科研汪B:神奇的tableone包可以帮助我们这群苦逼科研汪快速制作基线表哟。

一、科技论文中Table1(基线资料表)的常见结构和相应统计学方法

image

二、使用R语言tableone包快速制作Table1

1.读入数据

数据,提取码:xqpv。数据库结构见示例数据库

library(tableone)
mydata <- readxl::read_excel('Table 1示例数据库.xlsx')
View(mydata)
str(mydata)

2.查看数据集变量名称

dput(names(mydata))

c("low", "age", "lwt", "race", "smoke", "ptl", "ht", "ui", "ftv",
"bwt", "smoke_plus_ht", "Nsmoke", "Nht")

3.指定表格中的变量

vars <- c("age", "lwt", "race", "smoke", "ptl", "ht", "ui", "ftv", "bwt")
#以low作为分组变量,所以不加入表格中

4.指定分类变量

factorvars <- c("race", "smoke", "ptl", "ht", "ui", "ftv")

5.使用CreatTableone函数创建初步表格并查看

tableone_groups <- CreateTableOne(vars = vars, #指定纳入的变量
                                  strata = 'low', #指定分组变量#若不指定则对总体分析做表#
                                  data = mydata, #指定数据集
                                  factorVars = factorvars) #指定分类变量

tableone_groups #生成初步表格

初步表格

6.通过查看初步表格,指定非正态连续变量

nonnormalvars = c("lwt", "bwt")

7.指定哪些变量采用Fisher确切法(建议所以分类变量均使用Fisher确切法)

exactvars <- c("race", "smoke", "ptl", "ht", "ui", "ftv")

8.制定最终表格,使用print函数

table1_groups <- print(x = tableone_groups, #指定表格
                       contDigits = 1, #连续变量保留1位小数
                       #catDigits、contDigits、pDigits三个参数设置分类变量、连续变量和P值保留几位小数位#
                       nonnormal = nonnormalvars, #指定非正态连续变量
                       exact = exactvars,  #指定需要Fisher确切法统计的变量
                       showAllLevels = FALSE,  #TRUE则显示所有分类变量水平的频数和百分比
                       noSpaces = TRUE, #删除用于对齐的空格
                       printToggle = FALSE) #不展示输出结果

9.写出表格

write.csv(table1_groups, file="Table 1_groups.csv")
image

10.再绘制总人群的基线特征并写出

tableone_overall <- CreateTableOne(vars = vars, #指定纳入的变量
                                    data = mydata, #指定数据集
                                    factorVars = factorvars) #指定分类变量

table1_overall <- print(x = tableone_overall, #指定表格
                        contDigits = 1, #连续变量保留1位小数
                        nonnormal = nonnormalvars, #必不可少
                        showAllLevels = FALSE,  
                        noSpaces = TRUE, #删除用于对齐的空格
                        printToggle = FALSE) #不展示输出结果

write.csv(table1_overall, file="Table1_overall.csv")
image

11.把两个表格内容合并起来就完成了

image

最后的工作就是对输出的EXCEL表格进一步修饰了,我想大家就比较熟悉啦。

上一篇下一篇

猜你喜欢

热点阅读