R에서 여러 종속 변수로 일반 선형 모형을 수행하는 방법은 무엇입니까?


17

6 개의 종속 변수 (카운트 데이터)와 여러 개의 독립 변수가 있는데 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`

누구 든지이 오류 메시지 나 문제를 해결하는 방법을 설명 할 수 있습니까?


@Giorgio Spedicato의 대답에 따라 다음과 같이 대답 lm합니다. 행렬을 줄 때 와 마찬가지로 각 종속 변수를 개별적으로 처리하는 모델 세트가 필요하다고 가정 합니까?
켤레

분석의 두 번째 부분이 그립습니다. MMR (Multivariate Multiple Regression) 후 : lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) 필자는
Juan

나는 그냥이 질문에 대답하는 내 대답을 조정했다. 또한, :-) 코멘트에 Return 키를 누릅니다하지 기억
conjugateprior

분석의 두 번째 부분이 그립습니다. MMR (Multivariate Multiple Regression) 후 : 다음 lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) 과 같이 manova () 명령을 사용해야합니다 : summary(manova(my.model)) 다변량 분산 분석을 수행하고 각 독립 변수의 중요성을 확인하십시오. 이것이 최종 목표입니다.
Juan

이러한 종류의 데이터에 대해서는 manova와 anova가 정의되지 않았으므로 제공되지 않습니다. 그러나 각 IV의 영향을보고 싶다면 제공되는 회귀 테이블 summary이 각 DV에 대해 제공합니다.
Junjuprior

답변:


11

짧은 대답은 그런 식으로 glm작동하지 않는다는 것입니다. 이 lm만들어집니다 mlm쉽게 일반화 할 수 없습니다 어쨌든 당신이 그것을 행렬을 주면 물체를, 그러나 이것은 널리 제네릭에서 지원되지 않으며 glm사용자가 로지스틱 회귀 모델에 대한 이중 열 종속 변수를 지정 할 수 있어야하기 때문이다.

해결책은 모델을 개별적으로 맞추는 것입니다. IV와 DV가 data.frame이라고 dd하고 질문에있는 방식으로 레이블이 지정되어 있다고 가정합니다 . 다음 코드는 사용되는 종속 변수의 이름으로 색인화 된 적합 모델 목록을 작성합니다.

models <- list()
dvnames <- paste("DV", 1:6, sep='')
ivnames <- paste("IV", 1:n, sep='') ## for some value of n

for (y in dvnames){
  form <- formula(paste(y, "~", ivnames))
  models[[y]] <- glm(form, data=dd, family='poisson') 
}

결과를 확인하려면 다음과 같이 일반적인 함수를로 감싸십시오 lapply.

lapply(models, summary) ## summarize each model

R에서 이것을 수행하는 더 우아한 방법은 의심의 여지가 없지만 작동합니다.


6

문제를 해결하는 다변량 일반화 선형 (혼합) 모형이 있다고 들었습니다. 나는 그것에 대해 전문가가 아니에요,하지만 난에보고 할 것이다 세이버 문서이 책 다변량 GLMS에 있습니다. 아마도 그들은 도울 것입니다 ...


2
당신은 흥미로운 점을 제기합니다 (+1). 다변량 GLM이 확실히 존재합니다. 반면에,주는 lm종속 변수의 매트릭스 아마 다변량 모델의 표현으로보다 더 문법적으로 간주되어야한다 :이 경우 하였다 는 것 다변량 (정상) 모델은 오류가있는 하나 ' 구형 ', 즉 종속 변수의 각 요소에 대해 개별 회귀 분석을 수행하고 동일한 대답을 얻을 수있는 구형입니다.
conjugateprior
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.