У меня есть шесть зависимых переменных (данные подсчета) и несколько независимых переменных, я вижу, что в MMR скрипт выглядит так:
my.model <- lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
Но, поскольку мои данные рассчитаны, я хочу использовать обобщенную линейную модель, и я попробовал это:
my.model <- glm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn, family="poisson")
И появляется это сообщение об ошибке:
Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, :
(subscript) logical subscript too long`
Может кто-нибудь объяснить мне это сообщение об ошибке или способ решить мою проблему?
lm
, когда вы даете ей матрицу?lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
я долженlm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)
я должен использовать команду manova () следующим образом:summary(manova(my.model))
сделать многомерный дисперсионный анализ и увидеть значение каждой независимой переменной. Это конечная цель.summary
, предоставит их вам для каждого DV.Ответы:
Короткий ответ -
glm
это не так.lm
Будет создаватьmlm
объекты , если вы даете ему матрицу, но это не так широко поддерживается в дженериков и в любом случае не может легко обобщается ,glm
потому что пользователи должны иметь возможность указать двойной столбец зависимых переменных для моделей логистической регрессии.Решение состоит в том, чтобы соответствовать моделям отдельно. Предположим, что ваши IV и DV живут в data.frame
dd
и называются так, как они есть в вашем вопросе. Следующий код составляет список подходящих моделей, проиндексированных по имени зависимой переменной, которую они используют:Чтобы проверить результаты, просто оберните ваши обычные функции в a
lapply
, например так:Без сомнения, есть более изящные способы сделать это в R, но это должно сработать.
источник
Мне сказали, что существуют многофакторные обобщенные линейные (смешанные) модели, которые решают вашу проблему. Я не эксперт в этом, но я бы посмотрел документацию SABER и эту книгу по многомерным GLM. Может быть, они помогают ...
источник
lm
матрицы для зависимой переменной, вероятно, следует рассматривать скорее как синтаксический сахар, чем как выражение многомерной модели: если бы это была многомерная (нормальная) модель, то это была бы та, где ошибки были бы ' spherical ', то есть тот, в котором вы могли бы запустить отдельные регрессии для каждого элемента зависимой переменной и получить один и тот же ответ.