如何使用 R 中的 sjplot 包更改绘图模型上的 y 轴标签

How to change the yaxis labels on plot model using sjplots package in R

我为我的数据集应用了线性回归 (lm) 模型。我得到了预期的结果(作为值),但输出包含所有类别中的标签名称。 数据集似乎:(只是一个示例数据供参考)

DARM        Val hba_diff
Category1   23  2.5 
Category2   54  3.8
Category3   56  5.2
Category4   89  6.1

应用以下 lm 模型后的结果:

lm(公式 = hba_diff ~ DARM, 数据 = DARM_data)

输出

Predictors       Estimates  CI          p
(Intercept)      0.00      -0.10 – 0.10 0.957
DARM [Category1] 0.23      -0.30 – 0.75 0.398
DARM [Category2] 0.06      -0.25 – 0.37 0.719
DARM [Category3] 1.00      -2.18 – 4.17 0.538
DARM [Category4] -0.84     -2.67 – 1.00 0.372

我需要删除输出所有行中的 'DARM'。 请建议一个代码以删除输出集中的 'DARM' 项。

预期输出:

Predictors       Estimates  CI          p
(Intercept)      0.00      -0.10 – 0.10 0.957
Category1        0.23      -0.30 – 0.75 0.398
Category2        0.06      -0.25 – 0.37 0.719
Category3        1.00      -2.18 – 4.17 0.538
Category4        -0.84     -2.67 – 1.00 0.372

以后请附上完整代码。不知道你是怎么得到 table,我猜你在 sjplot 中使用 tab_model 函数,所以最简单的方法是提供名称,例如:

library(sjPlot)

df = data.frame(hba_diff=runif(50),
DARM = sample(c("Category1","Category2","Category3"),50,replace=TRUE))

fit = lm(hba_diff ~ DARM, data = df)

tab_model(fit,pred.labels = c("Intercept","Category2","Category3"))

要绘图,请对 ggplot2 做同样的事情(绘图是坐标翻转的,所以它是 x 轴):

library(ggplot2)
plot_model(fit) + scale_x_discrete(labels=c("Category2","Category3"))