Как обозначить две оси X независимо на двух графиках, созданных из линейной модели? - PullRequest
1 голос
/ 22 апреля 2020

Я прошу прощения, если об этом спрашивали раньше, я уверен, что есть простой способ сделать это, но я попытался найти на форуме, и я не могу найти ответ.

У нас есть создал линейную модель, которая берет оценку на управляемом тесте и проверяет ее в зависимости от того, является ли человек носителем английского языка Engli sh и год его обучения.

art_mod1A = lm(art_score ~ native + year, data = art, subset = abs(scale(resid(art_mod1)))<2.5)

Затем мы хотим построить его, используя функцию allEffects из пакета эффектов.

plot(allEffects(art_mod1A), colors = "black", ylab = "ART Score", main = "")

Это создает два графика на одном изображении, например так.

То, что я не вижу, это способ обозначить оси X независимо. Применение одного и того же ylab к обеим работам, поскольку они иллюстрируют один и тот же счет, но оси X должны быть уникальными. В частности, «Nativeness» слева и «Year of Study» справа.

Я подумал, что, возможно, я мог бы использовать grid.arrange, чтобы собрать их вместе, как в этом посте , но кажется, это только для организации нескольких графиков, что я уже могу сделать по природе самой модели. Это не позволяет мне самостоятельно переименовывать оси.

Кто-нибудь сможет указать мне правильное направление?

Большое спасибо!

1 Ответ

0 голосов
/ 22 апреля 2020

Я понял это! Я оставлю это как свидетельство моей глупости.

По сути, мне пришлось выбирать отдельные графики эффектов с помощью «selection = 1» или «selection = 2», а затем сохранять их как векторы. Затем мне пришлось собрать их обратно, используя grid.arrange из пакета (gridExtra), согласно этой теме.

Таким образом, код был таким:

artplot1 <- plot(allEffects(art_mod1A), selection=2, multiline= T, main = "", ylab = "ART Score", xlab = "Year of Study", colors = c("black", "darkgrey"), confint = list(style = "bars", 
                                                                                                                                                 alpha = 0.15))
artplot2 <- plot(allEffects(art_mod1A), selection=1, multiline= T, main = "", ylab = "ART Score", xlab = "Nativeness", colors = c("black", "darkgrey"), confint = list(style = "bars", alpha = 0.15))

library(gridExtra)
grid.arrange(artplot2, artplot1,  nrow=1,  ncol=2)

Спасибо за вашу помощь!

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