R에서 "계수 : 14로 정의되지 않음"과 같은 오류를 처리하는 방법은 무엇입니까?


17

GLM을 수행 할 때 anova 출력에서 ​​"단수로 인해 정의되지 않음"오류가 발생하면이 오류가 발생하는 것을 어떻게 방지합니까?

일부는 공변량 간의 공선 성 때문이거나 수준 중 하나가 데이터 세트에 존재하지 않는다고 제안했습니다 ( lm의 "단수 때문에 정의되지 않음"해석 참조 )

내가하는 "특정 치료"모델을 운전보고 싶어 내가 치료의 4 단계가있는 경우 : Treat 1, Treat 2, Treat 3Treat 4, 나의 스프레드 시트에 기록됩니다 때 Treat 1나머지 1 제로인 때 Treat 2제로입니다 나머지 1, 등 어떻게해야합니까?


많은 사람들이이 문제를 겪고 있음을 알고 있습니다. stat.ethz.ch/pipermail/r-help/2006-April/103836.html
Platypezid

답변:


28

둘 이상의 독립 변수가 완벽하게 공선이므로 (예 : 동일한 변수를 만들기 위해 더미 변수를 잘못 코딩하는 경우) 오류가 발생했을 수 있습니다.

면밀한 검사를 위해 데이터에 cor () 또는 모델에 alias ()를 사용하십시오.


11
감사합니다 alias () 함수를 몰랐습니다. 정말 편리합니다. Cheers, O.
OFish

함수도 몰랐다 alias. 꽤 좋은.
igorkf

1

독립 변수 사이의 강한 상관 관계로 인해 "단수로 정의되지 않음"오류가 발생합니다. 이것은 n-1 더미 변수를 가짐으로써 피할 수 있습니다. 귀하의 경우, 치료 변수의 경우 3 개의 이진 더미 변수 (Treat1, Treat2, Treat3)를 사용해야합니다.

R 프로그래밍에서 선형 회귀 함수 lm ()은 상관 관계가 높은 변수에 대해 "NA"를 계수로 사용합니다.


1
이것이 기존 답변에 추가되는 것으로 어떻게 볼 수 있습니까? 아마도 그것을 편집하여?
mdewey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.