Определение класса переменных в регрессионной модели без доступа к исходному фрейму данных
У меня есть файл rda, в котором есть модель логистической регрессии. Если я только хочу знать, какие типы данных для независимых переменных используются в glm, Как я могу их проверить? Например, если мой Y~ X1+X2+X3 как я узнаю, какие типы данныхX1, X2 а X3 есть? На данный момент у меня нет фрейма данных для исследования типов данных. Любая помощь будет высоко оценена.
1 ответ:
Я хотел бы сначала предложить кое-что более полезное. Как насчет проверки
$terms? (Используяfitниже в качестве примера)## or `attr(terms(fit), "dataClasses")` attr(fit$terms, "dataClasses") # mpg qsec factor(am) wt factor(gear) # "numeric" "numeric" "factor" "numeric" "factor"Поскольку в вашем вопросе упоминается только идентификация классов данных, этого достаточно. Но если вы хотите получить доступ к данным для переменных, проверьте
$data. вот чемglmотличается отlm.glmвозвращает гораздо больше материала, чемlm, включая аргументdata. Обратите внимание,lmне возвращаетdata.
Еще немного о
model.frameПочти всегда
model.frameявляется лучшей процедурой. Но используйте его с некоторой осторожностью.dat <- mtcars fit <- glm(mpg ~ qsec + factor(am) + wt + factor(gear), data = dat, model = FALSE) rm(dat) model.frame(fit)Ошибка в ИС.данные.фрейм (данные): объект 'dat' не найден
Это то, что я объяснил в комментарии под вопросом OP: если
$modelне являетсяNULL,model.frameпросто извлекает его. Но если это действительно такNULL,model.frameстремится его реконструировать. Но чтобы восстановить его, вам нужен доступ к исходному фрейму данных. Если исходный фрейм данных недоступен, вы не получите ничего (кроме ошибка).Чтобы понять это, имейте в виду, что
model.frameявляется (S3) общей функцией:.S3methods("model.frame") #[1] model.frame.aovlist* model.frame.default model.frame.glm* #[4] model.frame.lm*
model.frame.lmиmodel.frame.glmпростое извлечение$modelиз объекта модели (если$modelприсутствует); в противном случае он вызываетmodel.frame.defaultдля построения фрейма модели из Формулы модели и исходного фрейма данных.