Я оцениваю многоуровневые модели, используя 80 множественно вмененных наборов данных с пакетом mitml
. Я могу использовать команду testModels()
для сравнения вложенных моделей, но хочу просмотреть компоненты соответствия модели (в частности, отклонение) для каждой из 80 отдельных моделей вменения и рассчитать общее усредненное значение отклонения.
Оценки моей модели сохраняются в mitml.result
списке под названием modelt1
.
Я могу извлечь значение отклонения для первой модели (из 80), используя индексацию:
> modelt1[[1]]@devcomp[["cmp"]][["dev"]]
[1] 22637.1
Однако я не уверен, как эффективно извлечь и усреднить все 80 из этих значений. Я знаю, что мне нужно использовать цикл, но я не уверен, как объединить цикл с индексацией следующим образом.
Моя попытка была похожа на:
> for(i in modelt1){print(modelt1[[1]]@devcomp[["cmp"]][["dev"]])}
[1] 22637.1
Неудивительно, что это возвращает только отклонение для первой модели в пределах modelt1
.
Я попытался заменить [[1]]
на [[i]]
и получил ошибку.
Я также попытался просмотреть все модели следующим образом:
> for(i in modelt1){print(modelt1)}
Но это, конечно, обеспечивает полный итоговый вывод для всех 80 моделей, когда мне просто нужны значения отклонения.
Как мне написать цикл, который будет печатать все 80 значений отклонения?