본문 바로가기
공부/R & Python

4-3. R 그래픽 기초 3 (산점도)

by 드인 2020. 2. 13.

4-3. R 그래픽 기초 3 (산점도)


- autompg 데이터 (lec3_3.R에서 사용)

 

5. 산점도 (scatterplot) 2차원

- 산점도 : plot(x, y)

par(mfrow=c(1,1))
x2<-c(1,4,9)
y2<-2+x2
plot(x2, y2)  x와 y간의 관계를 보여주는 그래프

 

par(mfrow=c(2,1))
x<-seq(0, 2*pi, by=0.001)
y1<-sin(x)
plot(x,y1, main="sin curve (0:2*pi)")

 

y2<-cos(x)
plot(x,y2,main="cosine curve (0:2*pi)" )

 

- wt(차의 무게)과 mpg(연비)간의 산점도 : plot(wt, mpg)

mpg(연비) -> 종속변수(예측하고자 하는 변수)

wt(차의 무게), hp(마력) -> 독립변수

 

- hp(마력)과 mpg(연비)간의 산점도 : plot(hp, mpg)

par(mfrow=c(2,1))
plot(wt, mpg)  x축 변수 -> wt / y축 변수 -> mpg
plot(hp, mpg)

차의 무게가 무거울수록 연비는 낮다.

마력과 연비간의 산점도에서는 두개의 클러스터가 보임(클러스터내에서는 마력이 높을수록 연비가 낮음)

(클러스터=그룹)

 

- plot(x, y, col=as.integer(그룹변수))

par(mfrow=c(2,1), mar=c(4,4,2,2))
plot(disp, mpg, col=as.integer(car$cyl))  cyl에 따라 색으로 표시
plot(wt, mpg,  col=as.integer(car$cyl))

 

- Conditioning plot : coplot(y~x | z) z는 factor(그룹)

그룹에 따른 (x와 y)간 산점도

car1<-subset(car, cyl==4 | cyl==6 | cyl==8)  Subset 데이터 활용 : 4, 6, 8cylinder
coplot(car1$mpg ~ car1$disp | as.factor(car1$cyl), data = car1, panel = panel.smooth, rows = 1)

cylinder에 따른 차이를 보여줌

4cyl, 6cyl, 8cyl별로 (배기량과 연비)간 관계를 구체적으로 해석할 수 있음

 

- pairwise scatterplot : pairs(변수리스트)

pairs(car1[,1:6], col=as.integer(car1$cyl), main = "autompg")

 

/*예측모형*/

- 최적 적합 함수 추정 (선형회귀모형, 비선형회귀모형)

lm(y변수~x변수) : 여기서 lm은 linear model(선형모형)의 약자

abline : add line (선을 추가하는 함수)

par(mfrow=c(1,1))
plot(wt, mpg,  col=as.integer(car$cyl), pch=19)
abline(lm(mpg~wt), col="red", lwd=2, lty=1)      lwd : 선의 굵기, lty : 선의 타입

 

- 최적 적합 함수 추정 (비선형회귀모형, lowess 이용)

lowess : locally-weighted polynomial regression (see the reference)

lines(lowess(wt, mpg), col="red", lwd=3, lty=2)