R语言绘制临床三线表

临床模型的构建所需的第一个表就是基线表,基线表的制作有很多种方法,今天试试R。
制作三线表所需的包table1,安装完毕后使用使用boot包中的自带数据

library(boot) 
dat<- melanoma
head(dat)
str(dat)
'data.frame':   205 obs. of  7 variables:
 $ time     : num  10 30 35 99 185 204 210 232 232 279 ...
 $ status   : num  3 3 2 3 1 1 1 3 1 1 ...
 $ sex      : num  1 1 1 0 1 1 1 0 1 0 ...
 $ age      : num  76 56 41 71 52 28 77 60 49 68 ...
 $ year     : num  1972 1968 1977 1968 1965 ...
 $ thickness: num  6.76 0.65 1.34 2.9 12.08 ...
 $ ulcer    : num  1 0 0 0 1 1 1 1 1 1 ..

可以发现数据集中status,sex,ulcer为分类变量,因此应做相应的处理。

dat$status <-  factor(dat$status, 
         levels=c(2,1,3),
         labels=c("Alive", # 第一个作为参考组
                  "Melanoma death", 
                  "Non-melanoma death"))
dat$sex <- factor(dat$sex, levels=c(1,0), labels=c("Male", 
                  "Female"))
dat$ulcer <- factor(dat$ulcer, levels=c(0,1),
         labels=c("Absent", 
                  "Present"))
table1(~ factor(sex) + age + factor(ulcer) + thickness | status, data=dat)
table1的格式为~感兴趣的基线变量|感兴趣的分类变量,data,本例中感兴趣的变量为status,即列是status
image.png

图作出来了,结果发现age,thickness没有单位

units(dat$age)       <- "years"
units(dat$thickness) <- "mm"
再增加overall统计量
table1(~ sex + age + ulcer + thickness | status, data=melanoma2, overall="Total")
image.png

你可能感兴趣的:(R语言绘制临床三线表)