df라는 데이타프레임이 있다고 합시다. 하나 만들어 보았어요.
> df <- data.frame(xx=c(1,2,3,4,5), yy=c(1.1, 2.1, 3.2, 3.9, 5.2))
df는 이렇게 생겼습니다.
> df
xx yy
1 1 1.1
2 2 2.1
3 3 3.2
4 4 3.9
5 5 5.2
xx yy
1 1 1.1
2 2 2.1
3 3 3.2
4 4 3.9
5 5 5.2
xx와 yy의 관계를 그림으로 보면 이렇습니다.
yy가 xx의 linear model로 설명될 수 있는지를 알기 위해 lm함수를 이용해서 모델을 만듭니다.
> lin.model <- lm(yy~xx, data=df)
lm의 첫번째 argument는 yy와 xx의 관계를 표현하는 식, 두번째 argument는 사용할 데이타프레임, 그러니까 df입니다.
만들어진 linear modeling결과물을 봅시다.
> summary(lin.model)
Call:
lm(formula = yy ~ xx, data = df)
Residuals:
1 2 3 4 5
6.939e-18 2.936e-16 1.000e-01 -2.000e-01 1.000e-01
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.10000 0.14832 0.674 0.548486
xx 1.00000 0.04472 22.361 0.000196 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1414 on 3 degrees of freedom
Multiple R-squared: 0.994, Adjusted R-squared: 0.992
F-statistic: 500 on 1 and 3 DF, p-value: 0.0001958
가장 중요한 부분에 하이라이트했어요. xx에 대한 p-value가 0.000196으로 별세개. 그러니까, yy는 xx의 선형함수로 표현되고 이게 통계학적으로 유의미하다는 결과가 나왔네요.