Я новичок в R и даже новичок в моделировании с использованием световых эффектов и смешанных эффектов.
Если у меня есть модель lmer:
model <- lmer(C ~ Group * Time + (1|ID), REML = FALSE, data=data)
Как получить доступ к деталям модели, чтобы построить их?
Я знаю, что могу построить остатки по установленным значениям, используя:
plot(model)
ИЛИ
plot(predict(model), resid(model))
Но есть ли способ получить доступ к другим элементам/деталям модели? К каким еще элементам модели можно получить доступ? Я знаю, что могу использовать функцию 'summary()' для поиска случайного и фиксированного эффекта. Но как насчет построения остатков по отношению к другим элементам модели, например. остатки против фиксированных эффектов или случайного эффекта?
Привет мистер Флик. По сути, мой фиксированный эффект «Время» в моей модели имеет коэффициент 7 уровней. Мой остаточный и подобранный график выглядит немного странно, поэтому я хотел бы построить свои остаточные значения в зависимости от моего фактора «Время» на его 7 уровнях.
Да, вы можете использовать функцию summary()
, как и любой другой объект lm
или glm
, чтобы получить оценку фактической модели.
Точно так же вы можете обращаться с этими объектами так же, как с фреймом данных.
Единственная разница в том, что вместо $
вы должны использовать символ @
.
Например:
lm <- lmer(Petal.Length ~ Sepal.Length * Sepal.Width + (1|Species), data = iris)
lm@frame %>% head()
Petal.Length Sepal.Length Sepal.Width Species
1 1.4 5.1 3.5 setosa
2 1.4 4.9 3.0 setosa
3 1.3 4.7 3.2 setosa
4 1.5 4.6 3.1 setosa
5 1.4 5.0 3.6 setosa
6 1.7 5.4 3.9 setosa
С этого момента вы можете глубже исследовать объект.
Я не рекомендую этого — элементы объектов S4 (доступ к которым осуществляется через @
) обычно предназначены для использования разработчиками, а не конечными пользователями. Функции доступа, такие как model.frame()
, лучше (см. Ответ Мириам Муньос Лапейра)
Хороший вопрос, я узнал что-то новое! Хотя в защиту этого, иногда доступ к элементам является чрезвычайно мощным способом понять, как работает модель. Вероятно, это не очень актуально для новичка, который пытается построить какие-то остатки, но, тем не менее, полезно.
Если у вас есть подобные сомнения, вы должны проверить виньетку на упаковке, в данном случае vignette(lme4)
. Лишь поверхностным поиском нашел вот такую таблицу, может кому пригодится:
anova
Разложение вкладов с фиксированными эффектами или сравнение моделей.
as.function
Функция, возвращающая профилированное отклонение или критерий REML.
coef
Сумма случайных и фиксированных эффектов для каждого уровня.
confint
Доверительные интервалы для линейных параметров смешанной модели.
deviance
Минус удвоенная максимальная логарифмическая вероятность. (Используйте REMLcrit
для критерия REML.)
df.residual
Остаточные степени свободы.
drop1
Отбросьте допустимые отдельные термины из модели.
extractAIC
Обобщенный информационный критерий Акаике
fitted
Подогнанные значения с учетом условных режимов.
fixef
Оценки коэффициентов фиксированных эффектов
formula
Формула смешанной модели подогнанной модели.
logLik
Максимальное логарифмическое правдоподобие.
model.frame
Данные, необходимые для соответствия модели.
model.matrix
Матрица модели фиксированных эффектов
ngrps
Количество уровней в каждом факторе группировки.
nobs
Количество наблюдений.
plot
Диагностические графики для подгонки смешанной модели.
predict
Различные типы прогнозируемых значений.
print
Базовая распечатка объектов смешанной модели.
profile
Профилированное правдоподобие по различным параметрам модели.
ranef
Условные режимы случайных эффектов.
refit
Модель (повторно) адаптирована к новому набору наблюдений переменной отклика.
refitML
Модель (пере)подогнанная по максимальному правдоподобию.
residuals
Различные виды остаточной стоимости.
sigma
Остаточное стандартное отклонение.
simulate
Смоделированные данные подобранной смешанной модели.
summary
Резюме смешанной модели.
terms
Условия представления смешанной модели.
update
Обновленная модель с использованием измененной формулы или других аргументов.
VarCorr
Расчетные дисперсии случайных эффектов, стандартные отклонения и корреляции.
vcov
Ковариационная матрица оценок с фиксированным эффектом.
weights
Предыдущие веса, используемые при подгонке модели.Вот один из способов построить график зависимости остатков от вашего временного фактора:
library(broom.mixed)
aa <- augment(model)
boxplot(.resid ~ Time, data = aa)
Вы также можете использовать встроенный метод построения графика (см. help("plot.merMod")
):
plot(model, resid(.) ~ Time)
Мне пришлось преобразовать фактор времени в числовой, но это сработало! Спасибо!
если это было полезно, вы можете проголосовать за это ...
Я отметил это как ответ, но, поскольку я новый пользователь, я еще не могу проголосовать
Вам будет легче помочь, если вы включите простой воспроизводимый пример с образцом ввода и желаемым результатом, который можно использовать для тестирования и проверки возможных решений. Какие детали вы хотите конкретно?