加载包
library(sjPlot)
library(sjmisc)
library(sjlabelled)
数据准备
data('efc')
efc <- as_factor(efc,c161sex,c172code)
建模(线性模型)
m1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
m2 <- lm(neg_c_7 ~ c160age + c12hour + c161sex + e17age, data = efc)
绘制三线表
tab_model(m1)
图片.png
自动加因变量标签(自动加入了因变量标签,若没有标签,显示因变量名mpg)
m.mtcars <- lm(mpg ~ cyl + hp + wt, data = mtcars)
tab_model(m.mtcars)
图片.png
关闭自动加因变量标签
auto.label= FALSE
tab_model(m1,auto.label = F)
图片.png
否则为4图
多个模型绘制三线图
tab_model(m1,m2)
图片.png
广义线性模型的三线图(自动系数指数化变为OR)
m3 <- glm(
tot_sc_e ~ c160age + c12hour + c161sex + c172code,
data = efc,
family = poisson(link = "log")
)
efc$neg_c_7d <- ifelse(efc$neg_c_7 < median(efc$neg_c_7, na.rm = TRUE), 0, 1)
m4 <- glm(
neg_c_7d ~ c161sex + barthtot + c172code,
data = efc,
family = binomial(link = "logit")
)
tab_model(m3, m4,auto.label=F)
图片.png
广义线性模型不进行自动指数变换
tab_model(m3,m4,transform=NULL,auto.label=F)
图片.png
选择或剔除相应的列
tab_model(m3,m4,transform=NULL,auto.label=F)#个体化显示行
show.est #显示预测值
show.ci #显示置信区间
show.se #显示标准误
show.std #显示系数?
show.p #显示p值
show.stat #显示系数的统计学检验值
show.df #显示自由度
tab_model(m1,auto.label=F)
tab_model(m1, show.se = TRUE, show.std = TRUE, show.stat = TRUE,auto.label = F)
图片.png
tab_model(m3, m4, show.ci = FALSE, show.p = FALSE, auto.label = FALSE)
tab_model(m3,m4,auto.label = F)
图片.png
个体化显示行
tab_model(
m1, auto.label = F,show.se = TRUE, show.std = TRUE, show.stat = TRUE,
col.order = c("p", "stat", "est", "std.se", "se", "std.est")
)
图片.png
置信区间合并
tab_model(m1,collapse.ci = T,auto.label = F)
tab_model(m1,collapse.ci = F,auto.label = F)
图片.png
自定义行列名(pred.labels定义变量名,dv.labels定义模型名,)
tab_model(m1,m2,auto.label = F)
tab_model(
m1, m2,
pred.labels = c("a", "b", "c", "d","e", "f","g"),
dv.labels = c("e", "f"),
string.est = 'ee',
string.pred = "g",
string.ci = "h",
string.p = "i"
)
图片.png
自定义P值(stars为*号,scientific为科学计数法
tab_model(m1, m2, p.style = "stars",auto.label = F) #*表示
tab_model(m1, m2, p.style = "scientific", digits.p = 2,auto.label = F) #科学计数法保留两位小数
图片.png
图片.png
仅仅显示特定的变量(terms,rm.terms)
tab_model(m1,auto.label = F)
tab_model(m1, terms = c("c160age", "c12hour"),auto.label = F)
tab_model(m1, rm.terms = c("c172code2", "c161sex2"),auto.label = F)
图片.png