在我创建的这个sjplot上,我的y轴遇到了问题。我不确定为什么这些值是这样排列的(见下图),我想知道是否有人可以帮助我,例如,将我的y轴设置为从0开始。
library(jtools)
library(carData)
library(effects)
library(sjPlot)
mod <- glmer(Golden.Trevally ~ Maturity.Status + Behavioural.Activity + (1 | ID.Number), family = "binomial", data = mydf2)
summary(mod)
plot_model(mod, "pred", title="")

发布于 2020-08-06 19:08:52
到目前为止,回答这个问题最困难的部分是重新创建数据以使其可重现。然而,以下内容非常接近:
library(jtools)
library(carData)
library(effects)
library(sjPlot)
library(lme4)
set.seed(69)
Behavioural.Activity <- factor(sample(c("Cleaning", "Courtship",
"Cruising", "Feeding"),
size = 10000,
replace = TRUE))
Maturity.Status <- factor(sample(LETTERS[1:3], 10000, TRUE))
ID.Number <- factor(sample(500, 10000, TRUE))
Golden.Trevally <- rbinom(10000, 1, prob =
(c(6, 4, 7, 3)/600)[as.numeric(Behavioural.Activity)] *
c(0.8, 1, 1.2)[as.numeric(Maturity.Status)] *
(as.numeric(ID.Number) / 1000 + 0.75))
mydf2 <- data.frame(ID.Number, Golden.Trevally,
Behavioural.Activity, Maturity.Status)
mod <- glmer(Golden.Trevally ~ Maturity.Status + Behavioural.Activity + (1 | ID.Number),
family = "binomial", data = mydf2)
my_sjplot <- plot_model(mod, "pred", title = "")
my_sjplot$Behavioural.Activity

这里的解决方案是认识到plot_model返回的对象是一个包含两个ggplot对象的列表。您现在看到的是针对Behavioural.Activity的代码。它看起来是这样的,因为它有一个scale_y_continuous,它的标记函数是将中断标记为最接近的百分比。你可以简单地用你自己的一个来覆盖这个比例:
my_sjplot$Behavioural.Activity +
scale_y_continuous(limits = c(0, 0.01),
labels = scales::percent_format(accuracy = 0.01))

https://stackoverflow.com/questions/63280445
复制相似问题