临床模型的构建所需的第一个表就是基线表,基线表的制作有很多种方法,今天试试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
图作出来了,结果发现age,thickness没有单位
units(dat$age) <- "years"
units(dat$thickness) <- "mm"
再增加overall统计量
table1(~ sex + age + ulcer + thickness | status, data=melanoma2, overall="Total")