ch0nny_log

[빅데이터분석] R _ 49. 산포도그래프와 상관계수 본문

빅데이터 분석(with 아이티윌)/R

[빅데이터분석] R _ 49. 산포도그래프와 상관계수

chonny 2024. 7. 9. 13:58

■ 범주형 데이터 살펴보기(산포도 그래프)

1. 산포도 그래프: 두개의 수치형 데이터가 서로 연관성을 보이는지 확인할 때 유용한 그래프
2. 상관계수: 두개의 수치형 데이터가 서로 얼마나 상관관계를 보이는지 -1~1사이의 값으로 나타낸 값 
예제. 중고차의 주행거리가 높으면 가격이 낮아지는지 확인하려면 ?
plot( car$mileage,  car$price, phc=21, col='red', bg='red')
cor( car$mileage, car$price )​

설명: -0.8이면 매우 높은 음의 상관 관계를 보이는 수치임. 이는 주행거리가 높을 수록 중고차의 가격이 낮아짐을 나타냄.
문제1. 자동화 스크립트를 이용해서 주행거리와 가격과의 산포도 그래프를 이용하시오. 
# plotly 패키지 로드
library(plotly)

# 작업 디렉토리 설정
setwd("c:\\data")

# 중고차 데이터 로드
usedcars <- read.csv("usedcars.csv", header = TRUE)

# 산점도 생성
fig <- plot_ly(data = usedcars, 
               x = ~mileage, 
               y = ~price, 
               type = 'scatter', 
               mode = 'markers', 
               marker = list(color = 'blue')) 

# 추세선 추가
fig <- fig %>% add_trace(x = usedcars$year, 
                         y = fitted(lm(price ~ mileage, data = usedcars)), 
                         type = 'scatter', 
                         mode = 'lines', 
                         line = list(color = 'red'), 
                         name = 'Trend Line')

# 그래프 출력
fig​
문제2. 코스피 등락율(k_rate)와 삼성주가 등락율(s_rate)와 현대 자동차 주가 등락율(h_rate)를 데이터 프레임으로 생성하시오.




# 작업 디렉토리 설정
setwd("c:\\data")

# 주가가 데이터 로드
k <- read.csv("K_index.csv", header = TRUE)
s <- read.csv("S_stock.csv", header = TRUE)
h <- read.csv("H_stock.csv", header = TRUE)
문제 3. 코스피 등락율과 삼성주가 등락율을 가지고 산포도 그래프를 그리고 상관계수를 구하시오. 
# plotly 패키지 로드
library(plotly)

# 작업 디렉토리 설정
setwd("c:\\data")

# 주가가 데이터 로드
k <- read.csv("K_index.csv", header = TRUE)
s <- read.csv("S_stock.csv", header = TRUE)
h <- read.csv("H_stock.csv", header = TRUE)

# 원하는 데이터 merge (k,s,h)
x <- merge(merge(k,s,by='date'),h, by ='date')
head(x)

# 결측치 처리
x[is.na(x)]<-0
 
# 산포도 그래프 생성
plot(x$k_rate,x$s_rate,pch=21, col='red',bg='red')
cor(x$k_rate,x$s_rate) ## 양의 상관계수 0.5142456

문제 4.코스피 등락율과 현대자동차 등락율을 가지고 산포도 그래프를 그리고 상관계수를 구하시오. 
# plotly 패키지 로드
library(plotly)

# 작업 디렉토리 설정
setwd("c:\\data")

# 주가가 데이터 로드
k <- read.csv("K_index.csv", header = TRUE)
s <- read.csv("S_stock.csv", header = TRUE)
h <- read.csv("H_stock.csv", header = TRUE)

# 원하는 데이터 merge (k,s,h)
x <- merge(merge(k,s,by='date'),h, by ='date')
head(x)

# 결측치 처리
x[is.na(x)]<-0
 
# 산포도 그래프 생성
plot(x$k_rate,x$h_rate,pch=21, col='red',bg='red')
cor(x$k_rate,x$h_rate) ## 양의 상관계수 0.3262717​

설명:
코스피가 상승할 때 삼성주가도 상승하는 경향이 있고 상관계수가 0.51 중간정도의 양의 상관관계를 보이고 있음. 두변수간의 관계는 완벽하진 않지만 분명한 경향이 존재함을 의미함.

반면 현대 자동차는 0.32로 약한 양의 상관관계를 보이고 있음. 이는 코스피 등락이 현대자동차 주가에 미치는 영향이 상대적으로 적다고 볼수 있음

-> 삼성전자 주가는 코스피와 더 밀접한 관계를 가지며 코스피의 움직임도 삼성주가 더 큰 영향을 미침을 알수 있음