Я использую ddply
для выполнения glm
на подмножествах моих данных. У меня возникают трудности с доступом к оценочным значениям Y. Я могу получить оценки параметров модели, используя приведенный ниже код, но все варианты, которые я пытался получить, не увенчались успехом. Зависимые и независимые переменные в модели glm
являются векторами-столбцами, как и переменная "Dmsa"
, используемая в операции ddply
.
Определите модель:
Model <- function(df){coef(glm(Y~D+O+B+A+log(M), family=poisson(link="log"), data=df))}
Выполните модель на подмножествах:
Modrpt <- ddply(msadata, "Dmsa", Model)
Вывод Modrpt
дает коэффициенты модели, но не оценки Y.
Я знаю, что если бы я не использовал ddply
, я мог бы получить доступ к glm
оценочным значениям Y, используя код:
Model <- glm(Y~D+O+B+A+log(M), family=poisson(link="log"), data=msadata)
fits <- Model$fitted.values
Я пробовал оба из следующих способов, чтобы получить подходящие значения для подмножеств, но не повезло:
fits <- fitted.values(ddply(msadata, "Dmsa", Model))
fits <- ddply(msadata, "Dmsa", fitted.values(Model))
Я уверен, что это очень легко кодировать... к сожалению, я только изучаю R. Кто-нибудь знает, где я ошибаюсь?
dput( msadata)
или используйте встроенный набор данных, напримерdata(iris)
- person Simon O'Hanlon   schedule 06.08.2013coef
наfitted
в вашей функцииModel
. - person agstudy   schedule 06.08.2013