다중변수 자료 탐색에는 산점도와 상관분석이있다.

산점도(scatter plot)는 2개의 변수로 구성된 자료의 분포를 알아보는 그래프, 관측단위별 값들의 분포를 통해서 2개의 변수 사이의 관계를 파악하는 것이다. 

산점도 그리는법

print(mtcars) 
wt <- mtcars$wt 
mpg <- mtcars$mpg 
plot(wt, mpg)
data(mtcars) 
wt <- mtcars$wt 
mpg <- mtcars$mpg 
plot(wt, mpg,
# R 제공 mtcars 데이터셋 
# 중량 자료 
# 연비 자료 
# 2개 변수 (x축, y축) 
main = "중량-연비 산점도", # 제목 
xlab = "중량(wt)", 
ylab = "연비(mpg)", 
col = "red", 
pch = 19)


# x축 레이블 
# y축 레이블 
# point 컬러 
# point 종류

산점도로 3개 이상의 변수사이의 관계도 파악 가능

다중산점도 그리는법

vars <- c("mpg", "disp", "drat", "wt")  # 대상 변수 
target <- mtcars[,vars]  # 데이터프레임에서 위의 변수명을 가진 열 선택 
head(target)  # 데이터프레임 확인 
pairs(target, main = "Multi Plots”) # 다중 산점도 생성

 

상관분석은 두 변수간의 관계를 분석하기 위해 사용됨

변수는 연속형 자료만 가능함(저번에 배운 구간척도, 비율척도)

ex) 키의 변화는 몸무게의 변화와 관계가 있는가? 가설: 키가 커지면 몸무게가 늘어난다

 

상관계수 r은 x와 y사 함께 변하는 정도/x와 y가 각각변하는 정도

두 변수간 X와 Y가 완전히 동일하면 상관계수 r은 +1 (양의상관관계)
두 변수간 X와 Y가 반대방향으로 완전히 동일하면 상관계수 r은 -1 (음의 상관관계) 
두 변수간 X와 Y가 상관성이 없으면 상관계수 r은 0

 

 

 

 

 

 

상관분석 

plot() 함수
plot() 함수는 x와 y의 2개 축을 기준으로 좌표를 찍듯이 그리는 컨셉을 
가지는 함수
예시. plot(2,1)
plot() 함수는 산점도(scatter plot)를 그리는 함수 
plot(벡터2(Y)~ 벡터1(X), data=데이터프레임)

 

데이터프레임을 생성하고 산점도
음주정도(beers)에 따라 혈중알코올농도(bal)가 변하는 정도

beers <- c(5, 2, 9, 8, 3, 7, 3, 5, 3, 5)
bal <- c(0.1, 0.03, 0.19, 0.12, 0.04, 0.095, 0.07, 0.06, 0.02, 0.05) 
ca <- data.frame(beers, bal) 
print(ca)
plot(bal~beers, data=ca) # 산점도

lm()함수는 리니어 모델의 약자로 선형모델을 맞추는데 사용

lm()함수는 y=ax+b형태의 1차식이며 두변수의 선형 관계를 가장 잘 나타낼수있는 선의 식을 자동으로 찾는역할을함

adline()함수- 그래프위에 선을 추가하고싶은경우 사용

lm(벡터2~벡터1, data=데이터프레임) # 회귀식 도출 
abline(회귀식) # 회귀선 그리기
camodel <- lm(bal~beers, data=ca) 
abline(camodel)

이런식으로 사용하면 됨,

 

cor()함수 = 상관계수를 구하는 함수

cor(beers,bal)

이런식으로 상관계수를 구함

기본값은 피어슨 상관계수임

 

상관계수 상관관계
± 0.9 이상 상관관계가 아주 높다 
± 0.7 ~ 0.9 상관관계가 높다 
± 0.4 ~ 0.7 상관관계가 있다 
± 0.2 ~ 0.4 상관관계가 있으나 낮다 
± 0.2 미만 상관관계가 거의 없다

 

선그래프

두개의 변수중 하나가 시간을 나타내는 값일때 사용함.

시계열 자료- 시간의 변화에  따라 자료의 증감추이를 확인

 

선그래프를 작성하는 함수는 산점도를 작성할때 사용한 plot()함수인데 여기서 매개변수 type의 값을 l로 하면 선그래프가 작성됨.

month <- 1:12
cold <- c(5,8,7,9,4,6,12,13,8,6,6,4) 
plot(month, # x data 
cold, # y data 
main=“감기 환자 통계”, # 제목 
type=“l”, # 그래프의 종류 선택(알파벳) Line 
lty=1, # 선의 종류(Line Type) 선택 
lwd=1, # 선의 굵기 선택 
xlab=“month”, # x축 레이블 
ylab=“cold patients”) # y축 레이블

 

복수 선그래프를 나타낼때

lines()함수를 이용하면됨 

lines()함수는 좌표의 점들을 이어서 선을 그리는 함수임 plot()함수로 작성한 그래프 위에 선을 겹쳐서 그리는 역할

month <- 1:12
cold1 <- c(5,8,7,9,4,6,12,13,8,6,6,4) 
cold2 <- c(4,6,5,8,7,8,10,11,6,5,7,3) 
plot(month, # x data 
cold1, # y data 
main=“감기 환자 통계”, # 제목 
type=“b”, # 그래프의 종류 선택(알파벳) Line 
lty=1, # 선의 종류(Line Type) 선택 
lwd=1, # 선의 굵기 선택 
col=“red”, # 선의 색 선택(빨강) 
xlab=“month”, # x축 레이블 
ylab=“cold patients” # y축 레이블 
ylim=c(1,15))# y축 값의 (하한, 상한)
lines(month, # x data 
cold2, # y data 
type=“b”, # 선의 종류 선택 
col=“blue”) # 선의 색 선택(파랑)

요약 정리

 

산점도

-plot(x축,y축)

-main/xlab/ylab/col/pch

 

다중산점도

-pairs(target, main = "Multi Plots”)

-target <- 데이터프레임[,vars]

 

상관분석

-연속형 자료로만 가능

-plot()함수 #산점도

-lm(벡터2~벡터1, data=데이터프레임) # 회귀식 도출

-abline(회귀식)#회귀선 그리기

 

상관계수

– r = X와 Y가 함께 변하는 정도
– cor(벡터1,벡터2)  # 상관계수 계산
– r은 +1 (양의상관관계) / R은 -1 (음의 상관관계) / R은 0

 

선그래프

– plot() 함수 # 산점도
– lines() 함수 # plot() 함수로 작성한 그래프 위에 선을 겹쳐서 그리는 역할

'빅데이터' 카테고리의 다른 글

R텍스트 마이닝  (0) 2022.12.05
데이터 시각화  (0) 2022.12.04
회귀분석  (0) 2022.12.04
데이터 구조파악  (0) 2022.12.03

+ Recent posts