해보記/R

<記> R로 그리는 산점도(산포도)와 회귀선

Light Pillar 2019. 11. 15. 00:08

R로 그리는 산점도(산포도)

 

산점도(산포도)는 두 변수를 비교하는 것이다.

 

사용 데이터는 'Head First Data Analysis' 의 예제를 이용하고, 데이터 구조는 다음과 같다.

예제 데이터 구조

> #employees 오브젝트에 데이터를 저장한다.

> employees <- read.csv("hfda_ch10_employees_kr.csv",header=TRUE)

 

 

직원(X)의 급여 인상요구안(요구)과 협상에 의한 수령안(수령)과의 상관관계를 파악하기 위한 산점도를 그린다.

 

> # 요구, 수령 두 변수를 비교

> plot(employees$요구[employees$협상여부==TRUE], employees$수령[employees$협상여부==TRUE])

 

 


 

R로 회귀선 그리기

 

R에 의해 그려진 산점도를 보면 두 변수는 양(+)의 상관관계를 갖는 선형성을 나타내는 것으로 보여진다.

그렇다면 두 변수의 상관도(r)는 어떻게 될까?

 

> cor(employees$요구[employees$협상여부==TRUE], employees$수령[employees$협상여부==TRUE]) 

그리려는 회귀선의 기울기는 상관계수와 y(수령)의 표준편차의 곱을 x(요구)의 표준편차로 나눈값과 같으므로

 

> #y(수령)의 표준편차

> sd(employees$수령[employees$협상여부==TRUE])

> #x(요구)의 표준편차

> sd(employees$요구[employees$협상여부==TRUE])

회귀선의 기울기 = (0.6656481*3.077446) / 2.825253 = 0.7250664216

 

R을 이용하여 선형모델(Linear Model : lm)을 구하면

 

> # 선형모델 구하기

> lm(수령[협상여부==TRUE]~요구[협상여부==TRUE], data=employees)

R을 이용해 구한 선형모델을 'myLm' 오브젝트를 생성하여 할당한다.

 

> #선형모델 오브젝트 할당

> myLm <- lm(수령[협상여부==TRUE]~요구[협상여부==TRUE], data=employees)

> myLm$coefficients

선형모델을 통한 회귀직선을 산점도위에 그려준다.