2013-08-21 3 views
0

제 생각에는 수식에서 두 번째 (및 그 이상) 순서를 코딩하는 세 가지 가능한 방법이 있습니다.R : 등식의 등가 코딩 방법

우리는 I(..) 함수를 사용할 수 있으며 poly(..) 함수를 사용할 수 있으며 2 차 변수의 변수를 만들 수 있습니다. 내 질문은 : 어떻게 이러한 기능을 작동합니까? I(..) 사용시 또는 가변 B2 사용시

set.seed(23) 
A = rnorm(12) 
B = 1:12 
C = factor(rep(c(1,2,3),4)) 
B2=B^2 

lm(A~poly(B,2)*C)의 등가물은 무엇인가?

poly(..) 함수에서 raw=T의 사용은 결과에 아무런 변화가 없습니까?

+0

'폴리 (B, 2, 원시 = TRUE)가''폴리 같은 결과 제공하지 않을 것이다 (B, 2)'. –

답변

1
lm(A~B2*C) 

또는

lm(A~I(B^2)*C) 

당신에게 열 B를 제곱 한 후 회귀 분석을 수행 한 결과를 제공 주셔서 감사합니다. 사용 :

poly(B,2) 

완전히 다른 것을 수행합니다.

추가 편집 : poly()은 단순히 제곱, 입방체 등에서 파생 된 표준 다항식과 다른 직교 다항식을 계산합니다.

+0

''simple "다항식을 원한다면'poly (B, 2, raw = TRUE)'를 사용할 수 있습니다. –

+0

@DieterMenne poly (B, 2, raw = T)가 I (B^2) 또는 B + I (B^2)와 동일하다는 것을 의미합니까? –

1

poly (B, 2, raw = T)가 I (B^2) 또는 B + I (B^2)와 동일하다는 것을 의미합니까?

보십시오

x = 0:99 
df = data.frame(x=x,y=rnorm(100)+0.1*x + 0.04*x*x) 
lm(y~poly(x,2),data=df) 
lm(y~poly(x,2,raw=TRUE),data=df) 
lm(y~x+I(x^2),data=df)