2014-08-05 1 views
0

독립 변수의 제곱을 포함하여 회귀 분석을 실행하려고합니다. 다른 변형은 효과가있는 것처럼 보이지만 사각형은 인식되지 않습니다. 예 :R 공식에서 변수의 제곱 사용하기

lm(y ~ x + x^2 + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10)))) 

Call: 
lm(formula = y ~ x + x^2 + sin(x), data = as.data.frame(cbind(x = rnorm(10), 
    y = rnorm(10)))) 

Coefficients: 
(Intercept)   x  sin(x) 
    -0.1594  -0.6171  1.2072 

죄는 인식되지만 x^2는 인식되지 않습니다.

+3

이 목적을 위해'poly'를 사용하는 것이 좋습니다, 쓰기, 수'I (X^2)'. –

+1

@Pascal'poly'는 기본 구성에서 혼란스러운 계수를 줄 수 있으며 용어를 삭제하기가 어려울 수 있습니다. – James

+0

@ James. 그래서 도움말 페이지가있는 것입니다. –

답변

5

^을 수식 연산자로 해석하는 대신 "있는 그대로"라는 용어를 사용하려면 I을 입력해야합니다 (자세한 내용은 ?formula 참조).

lm(y ~ x + I(x^2) + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10)))) 

Call: 
lm(formula = y ~ x + I(x^2) + sin(x), data = as.data.frame(cbind(x = rnorm(10), 
    y = rnorm(10)))) 

Coefficients: 
(Intercept)   x  I(x^2)  sin(x) 
    0.06850  2.82023  -0.03109  -3.84221 
0

당신은 단순히 적어도

lm(y ~ x + c(x*x) + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10))))