Хобрук: Ваш путь к мастерству в программировании

Простая регрессия по группам и отображение вывода

Я хочу задать несколько общих вопросов о возможности регрессии в R.

Например, у меня есть данные между двумя переменными для 58 регионов. Я хочу провести весь процесс регрессии, включая проверку предположений, подгонку модели и диагностику для каждого региона, но получить общий результат одной командой, то есть без цикла.

Я уже знаю, что могу использовать функцию lmList для подгонки модели за одно испытание. Однако я не знаю, возможно ли получить нормальный остаточный график Q-Q для всех 58 регрессий за один раз.

Кто-нибудь понимает, возможно ли это? Если да, то какие функции мне могут понадобиться?

16.07.2013


Ответы:


1

Зависит от того, что вы подразумеваете под «одной командой» и почему вы хотите избежать циклов. Как насчет:

library(nlme)
L <- lmList(y~x|region,data=yourData)
lapply(L,plot,which=2)

должно сработать; однако он последовательно выдаст 58 графиков. Если вы попытаетесь захватить их все на одной странице, вы, вероятно, получите ошибки о слишком маленьких полях.

У вас есть много других вариантов, основанных на работе со списком регрессий, которые возвращает lmList. Например,

library(plyr)
qqDat <- ldply(L,function(x) as.data.frame(qqnorm(residuals(x))))

предоставит вам кадр данных, содержащий информацию о графике Q-Q (ожидаемые и наблюдаемые значения) для каждой группы в данных.

20.07.2013
  • Спасибо, я уже использовал функцию lapply, чтобы последовательно вывести график Q-Q... 21.07.2013
  • если это не то, что вы хотите сделать, вам нужно быть немного более конкретным, что вы подразумеваете под этим. Вам нужен один график с 58 наборами остатков? Или что? 21.07.2013
  • Новые материалы

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

    Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
    Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

    Математика и интуиция - Часть 1
    У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..