2017-04-10 16 views
0

R에서 GLM을 사용하여 데이터 집합에 대한 통계 분석을 수행합니다. 기본적으로 예측 변수는 다음과 같습니다. "프로브"(실험에 사용 된 프로브 유형 - 4 단계), "추출"(실험에 사용 된 추출 유형 - 2 단계 요소), "탱크"(시료를 수집하는 탱크 번호 - 1에서 9까지의 정수) 및 "희석" 샘플 - 숫자 : 3.125, 6.25, 12.5, 25, 50, 100). 응답은 실험의 반복 횟수 ("Rep")에서 얻은 긍정적 인 응답 ("긍정적")의 수입니다. 나는 긍정적 인 응답 수의 모든 예측 변수 (및 상호 작용)의 효과를 평가하고자하는, 그래서 이런 GLM 모델에 맞게 시도 :GLM에서 변수를 무작위로 취급하는 방법

y<-cbind(mydata$Positive,mydata$Rep - mydata$Positive) 
model1<-glm(y~Probe*Extraction*Dilution*Tank, family=quasibinomial, data=mydata) 

을하지만 나중에 내 관리자에 의해 권고 된 그 "Tank"예측 변수는 레벨 기반 변수로 취급해서는 안됩니다. 즉, 1에서 9까지의 값을 갖지만 탱크 레이블 일 뿐이므로 1과 7 사이의 차이는 중요하지 않습니다. 이 변수를 요인으로 처리하면 큰 결과를 초래하는 대형 모델 만 생성됩니다. 그렇다면 "탱크"변수를 무작위 요소로 취급하고이를 GLM에 포함시키는 방법은 무엇입니까?

감사합니다.

답변

1

"혼합 효과 모델"이라고합니다. lme4 패키지를 확인하십시오.

library(lme4) 
glmer(y~Probe + Extraction + Dilution + (1|Tank), family=quasibinomial, data=mydata) 

또한 요인 대신 * 대신 *를 사용해야합니다. *는 각 요인의 모든 상호 작용 및 수준을 포함하므로 거대한 초과 적합 모델이됩니다. 상호 작용이 있다는 특별한 이유가없는 한, 해당 상호 작용을 명시 적으로 코딩해야합니다.

+0

감사합니다. 모든 매개 변수 사이의 모든 상호 작용을 테스트하고 어느 것이 중요한지 확인하기 때문에 *를 사용했습니다. 일부 삭제 테스트 후에 중요한 3 개의 상호 작용 용어 만 남아 있습니다. 하지만 처음에는 어느 것이 확실하지 않으므로 사용 했어야했습니다. * –

+0

안녕하세요, 귀하의 솔루션을 사용해 보았습니다. 그러나 "유사"는 'glmer'에서 사용할 수 없습니다. 'lme4 :: glFormula (수식 = y ~ 프로브 + 추출 + 희석 + : ) '오류 코드를 실행 한 후이 오류가 발생했습니다. –

+0

내 데이터에 과분 할이 있기 때문에 유사가 필요했습니다. 이 문제를 lme4 패키지에서 극복/처리 할 방법이 있습니까? –