2013-04-06 4 views

답변

5

질문의 배경은 무엇입니까?

앞서 언급했듯이 lmmodel.matrix을 내부적으로 사용하는 다른 기능에서는 동일합니다. 그러나 다른 경우에는 다음 코드를 고려하십시오.

plot.new() 
text(.5, .1, y ~ x) 
text(.5, .3, y ~ x + 1) 

여기에는 차이가 있습니다 (코드 실행에 차이가 있음).

다른 함수 또는 컨텍스트의 경우 구현에 따라 다릅니다.

plot(Petal.Length ~ Species, data=iris) 
plot(Petal.Length ~ Species + 1, data=iris) 

그러나이 그렇지 않은 :

이 2 줄

같은 결과를

는 S-플러스보다는 R에 있었던 수 있지만 내가 한 번 (본 기억
library(lattice) 
bwplot(Petal.Length ~ Species, data=iris) 
bwplot(Petal.Length ~ Species + 1, data=iris) 

R에서 가능하지 않을 수도 있음) 수식에 0+ 또는 -1, 뒤에 +1이 포함 된 수식. 인터셉트 (첫 번째 요소의 각 수준에 맞는 평균)가없는 주요 효과를 구성했지만 올바른 위치의 +1은 상호 작용이 코딩 된 방식을 변경했습니다.

이론적으로 모델링 함수 (수식은 생각할 수는 없지만 미래에 작성되거나 작성 될 수 있음)는 수식을 사용하지만 절편을 기본적으로 포함하지 않으므로 +1이 필요합니다. 절편을 지정합니다.

그럼 어떤 질문을하고 계십니까?

7

lm()의 문맥에서, 그것들은 완전히 동일합니다. 두 모델 모두 절편을 포함합니다.

요격을 제거하려면 Y ~ X - 1 또는 Y ~ X + 0을 쓸 수 있습니다.

+2

... 내부적으로'model.matrix'를 사용하는 다른 모델링 프레임 워크는 ... –