科研汪A:基線表格制作起來真丫麻煩袱蚓!
科研汪B:神奇的tableone包可以幫助我們這群苦逼科研汪快速制作基線表喲盖文。
一划栓、科技論文中Table1(基線資料表)的常見結(jié)構(gòu)和相應(yīng)統(tǒng)計學方法
二庸推、使用R語言tableone包快速制作Table1
1.讀入數(shù)據(jù)
→數(shù)據(jù)骡显,提取碼:xqpv。數(shù)據(jù)庫結(jié)構(gòu)見示例數(shù)據(jù)庫浆西。
library(tableone)
mydata <- readxl::read_excel('Table 1示例數(shù)據(jù)庫.xlsx')
View(mydata)
str(mydata)
2.查看數(shù)據(jù)集變量名稱
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函數(shù)創(chuàng)建初步表格并查看
tableone_groups <- CreateTableOne(vars = vars, #指定納入的變量
strata = 'low', #指定分組變量#若不指定則對總體分析做表#
data = mydata, #指定數(shù)據(jù)集
factorVars = factorvars) #指定分類變量
tableone_groups #生成初步表格
6.通過查看初步表格,指定非正態(tài)連續(xù)變量
nonnormalvars = c("lwt", "bwt")
7.指定哪些變量采用Fisher確切法(建議所以分類變量均使用Fisher確切法)
exactvars <- c("race", "smoke", "ptl", "ht", "ui", "ftv")
8.制定最終表格近零,使用print函數(shù)
table1_groups <- print(x = tableone_groups, #指定表格
contDigits = 1, #連續(xù)變量保留1位小數(shù)
#catDigits诺核、contDigits抄肖、pDigits三個參數(shù)設(shè)置分類變量、連續(xù)變量和P值保留幾位小數(shù)位#
nonnormal = nonnormalvars, #指定非正態(tài)連續(xù)變量
exact = exactvars, #指定需要Fisher確切法統(tǒng)計的變量
showAllLevels = FALSE, #TRUE則顯示所有分類變量水平的頻數(shù)和百分比
noSpaces = TRUE, #刪除用于對齊的空格
printToggle = FALSE) #不展示輸出結(jié)果
9.寫出表格
write.csv(table1_groups, file="Table 1_groups.csv")
10.再繪制總?cè)巳旱幕€特征并寫出
tableone_overall <- CreateTableOne(vars = vars, #指定納入的變量
data = mydata, #指定數(shù)據(jù)集
factorVars = factorvars) #指定分類變量
table1_overall <- print(x = tableone_overall, #指定表格
contDigits = 1, #連續(xù)變量保留1位小數(shù)
nonnormal = nonnormalvars, #必不可少
showAllLevels = FALSE,
noSpaces = TRUE, #刪除用于對齊的空格
printToggle = FALSE) #不展示輸出結(jié)果
write.csv(table1_overall, file="Table1_overall.csv")
11.把兩個表格內(nèi)容合并起來就完成了
最后的工作就是對輸出的EXCEL表格進一步修飾了窖杀,我想大家就比較熟悉啦漓摩。