Как отредактировать функции plot_models, чтобы иметь масштаб `free_x`? - PullRequest
1 голос
/ 07 ноября 2019

Я пытаюсь построить оценки, используя функцию plot_models из пакета sjPlot, но мне хотелось бы иметь free_x для моих аспектов. Я попытался отредактировать код в функции plot_models как p + facet_grid(~group, scales = "free_x"), но получаю следующую ошибку:

Error: Column 6 must be named.
Use .name_repair to specify repair.
Call `rlang::last_error()` to see a backtrace 

код:

library(sjPlot)
data(efc)

# fit three models
fit1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
fit2 <- lm(neg_c_7 ~ c160age + c12hour + c161sex + c172code, data = efc)
fit3 <- lm(tot_sc_e ~ c160age + c12hour + c161sex + c172code, data = efc)

mod.plot <-  plot_models(fit1, fit2, fit3, grid = TRUE)
mod.plot

Есть ли способ установить scale = free_x для mod.plot?

1 Ответ

2 голосов
/ 07 ноября 2019

Я не знаю пакет sjPlot или функцию plot_models, но мне показалось, что они жестко закодировали пределы оси X (фактически, ось Y, поскольку они используют coord_flip()). Если вы согласны с предупреждением о переопределении весов, вы можете сделать следующее:

library(sjPlot)
data(efc)

# fit three models
fit1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
fit2 <- lm(neg_c_7 ~ c160age + c12hour + c161sex + c172code, data = efc)
fit3 <- lm(tot_sc_e ~ c160age + c12hour + c161sex + c172code, data = efc)

mod.plot <-  plot_models(fit1, fit2, fit3, grid = TRUE)

mod.plot + facet_grid(~group, scales = "free_x") +
  scale_y_continuous(limits = c(NA, NA))
mod.plot

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...