Я использую пакет "ggeffects", чтобы визуализировать влияние ковариат на переменные ответа, и это хорошо работает.Однако недавно я попытался вычислить эффект ковариаты в зависимости от уровня фактора.В моем случае проблема в том, что ковариата принимает очень разные значения в зависимости от уровня фактора:
# Model
m = glmer(Response ~ Factor * Covariate +
(1 | Random),
data = dataset,
family = poisson(link = "log"))
Prediction = ggemmeans(model = m, terms = c("Covariate", "Factor"),
type = "fe")
Prediction$predicted = log(Prediction$predicted + 1)
# I log-transform predictions so that the results are more easily readable in the figure.
# Graph
dataset$Response = log(dataset$Response + 1)
# I log-transform the Response variable for the same reason
Effect = ggplot() +
geom_point(data = dataset,
aes(x = Covariate, y = Response, colour = Factor, size = Same_Cov)) +
labs(x = "Covariate",
y = "Response",
size = "Number of data with the same x value") +
geom_line(data = Prediction,
aes(x = x, y = predicted, group = group, colour = group),
size = 1)
Полученная цифра
Я бы хотела получитьпредсказания только для «реалистичных» x-границ, то есть в моем случае для уровня A, от ~ 18 до 23;для уровня B от ~ 10 до 15 и для уровня C от ~ 5 до 11 (см. ссылку на рисунок).В идеале я хотел бы, чтобы ggemmeans вычислял точные границы x с учетом уровня используемого фактора и выполнял предсказания, принимая значения x в этих «соответствующих» границах, а не во всем диапазоне x в моем наборе данных.
Одним словом, для тех, кто использует geom_smooth()
, я хотел бы, чтобы аргумент был похож на fullrange = FALSE
.
Есть ли способ сделать это с помощью аргументов, доступных в функции ggemmeans?
Большое спасибо.