如何在 R 中的赔率图中显示分类变量的参考值?

问题描述 投票:0回答:0

我正在使用分类预测变量运行一系列未经调整的逻辑回归,我想在赔率图中显示结果。

我应该如何在赔率图中显示分类变量的参考值?

这里是一些示例数据:

#Creating sample dataframe
df<- structure(list(
'sick'=c(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1),
'agecat'=c(23,1,2,2,2,2,2,2,3,3,3,3,1,4,4,1,3,1,2,4), 'gender'=c(1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0)))
#Factoring vars
df$agecat <- factor(df$agecat, levels=c(1,2,3,4), labels=c("0-19","20-39","40-59","60-79"))
df$gender <- factor(df$gender, levels=c(0,1), labels=c("male","female"))

#Identifying predictor columns
predictors <- c('agecat', 'gender')
cols <- df[predictors]

#Using lapply to generate list of unadjusted logistic regression output
A <- lapply(as.list(cols), function(x) glm(sick ~ x, data=df, family=binomial(link="logit")))

#Creating tibble from list and exponentiating to get ORs
do.call(rbind, lapply(A, broom::tidy, exponentiate=TRUE, conf.int=TRUE)) -> B

#Adding clean var names (quick method - I do this a better way with my actual dataset)
B$varname <- paste0(c("Age","Age","Age","Age","Gender","Gender"))

#Producing basic odds plot
ggplot(B, aes(y = term, x = estimate)) +
  geom_point(shape = 18, size = 3) +
  geom_errorbarh(aes(xmin = conf.low, xmax = conf.high), height = 0.4, size=0.2) +
  geom_vline(xintercept = 1, color = "red", linetype = "dashed", cex = 1, alpha = 0.5) +
  xlab("Odds Ratio (95% CI)")+
  facet_col(~varname, scales = 'free_y', space='free')

在我制作的基本图中,它显示了参考值的截距估计和置信区间。

我应该排除这些截距并在图中将参考值留空吗?

我看过一些赔率图,其中截距值显示为 1.00,但在我的例子中,我的取幂截距估计值不等于 1.00 - 这是否表明存在问题?

r ggplot2 logistic-regression forestplot
© www.soinside.com 2019 - 2024. All rights reserved.