다중변수 자료의 탐색

2024. 8. 30. 16:06확률 통계/R 데이터 분석

산점도

  • 다중변수 자료와 같은 경우는 변수가 두 개 이상인 자료를 의미한다. 따라서 다중변수 자료와 같은 경우는 2차원 형태를 통해서 나타난다. 
  • iris와 같은 데이터셋은 총 5개의 변수로 구성되어 있다. 다중 변수 자료에서는 변수는 열로 표현이 되고, 개별 관측값들은 행으로 이루어진다.

두 변수 사이의 산점도

  • 산점도란 두 개의 변수로 이루어진 자료의 분포를 알아보는 그래프로, 관측값들의 수치를 통해서 두 개의 변수 사이의 관계를 파악하는 기법이다.
x<-mtcars$wt
y<-mtcars$mpg
plot(x,y,
     main="중량-연비 그래프",
     xlab="중량",
     ylab="연비",
     col="orange",
     pch=19)

결과

  • mtcars에서 중량과 연비의 변수에서 데이터들을 불러온다.
  • plot: 산점도 그래프를 출력해준다. 
  • pch: 점의 모양을 지정해주기 위한 것이다.

출처:https://r-charts.com/base-r/pch-symbols/

  • 결론적으로 이 그래프를 통해서 중량이 증가함에 따라서 연비가 감소하는 경향을 볼 수 있다.
cf) 매개변수 지정
앞에서 사용한 방법 이외에도 다양한 방법을 사용한다.
1. plot(mtcars$wt, mtcars$mpg,...)
2.  plot(mtcars[,c("wt","mpg")],...)
3. plot(mpg~wt, data=mtcars,...)

여러 변수들 간의 산점도

x<-c("mpg","disp","drat","wt")
y<-mtcars[,x]
pairs(y, main="Multi Plots")

결과

  • x에는 변수들의 이름을 벡터 형식으로 넣어주고 y에는 mtcars의 열에 해당하는 변수들을 통해서 데이터셋을 가져와서 y에 지정해 준다.
  • pairs: 여러 개의 변수에 대해서 산점도를 작성해 주는 함수이다.
  • 서로 대칭인 그래프들끼리는 x축과 y축이 서로 바뀌어져서 이루어져 있다.
  • drat와 wt로 이루어진 그래프를 본다면 drat의 아래에 있고 wt의 왼쪽에 있는 그래프는 drat가 x축이고 wt가 y축이다. 하지만 drat의 오른쪽에 있고 wt의 위쪽에 있는 그래프는 drat가 y축이고 wt가 x축이다.

그룹이 있는 두 변수의 산점도

x<-iris[,3:4]
n<-as.numeric(iris$Species)
color<-c("green","blue","red")
plot(x,
     main="Iris 그래프",
     pch=c(n),
     col=color[n],
     )

결과

  • x는 3번 째와 4번째의 값들을 추출하여서 새로운 테이터 셋을 만들어 주었다.
  • n에는 Species에 따라서 1,2,3으로 바꾸어서 저장해 주었다.
  • pch=c(n)으로 한 것은 점의 모양을 품종에 따라서 각각 다르게 하기 위해서 이다. col=color [n]도 색깔을 각각 ㄷ품종에 따라서 다르게 위해서 설정해 준 것이다.

상관 분석

상관 분석과 상관관계

  • 상관 분석: 수치적으로 얼마나 강한 선형적인 관계가 있는지 나타내는 방법을 의미한다.
  • 상관 계수: 상관 분석에서 두 변수의 선형적 정도를 수치적으로 보여주는 척도를 의미한다.
  • 피어슨의 상관 계수: r(상관 계수)=(두 변수 x, y의 공분산)/√((변수 x의 분산)*(변수 y의 분산))

다음은 r(상관 계수)의 성질이다.

  1. -1 ≤ r ≤ 1
  2. r>0이면 양의 상관관계(x↑, y↑)
  3. r <0이면 음의 상관관계(x↑, y↓)
  4. r의 절댓값이 1에 가까우면 상관성이 높다.

R을 활용한 상관 계수의 계산

x<-c(5,2,9,8,3,7,3,5,3,5)
y<-c(0.1,0.03,0.19,0.12,0.04,0.0095,0.07,0.06,0.02,0.05)
plot(x,y,
     xlab="음주량",
     ylab="혈중알코올 농도",)
z<-lm(y~x)
abline(z)
cor(x,y)

결과

> cor(x,y)
[1] 0.6797025
  • x는 음주량을 수치화한 것이고 y는 혈중 알코올 농도를 의미한다.
  • lm(종속 변수~독립 변수): 종속 변수를 y로 하고 독립 변수를 x로 하여서 회귀식을 도출한다.
  • abline: 회귀식을 사용하여서 회귀선을 그리는 함수
  • cor: 상관관계를 구하는 함수

선 그래프

month<-1:12
temperature <- c(-1.7, 0.5, 5.7, 12.3, 17.2, 21.9, 25.6, 26.4, 21.1, 14.6, 7.5, 0.2)
plot(temperature~month,
     main="서울시 월별 날씨",
     type="l",
     lty=1,
     lwd=1,
     xlab="월",
     ylab="평균 기온 (°C)")

결과

  • temperature~month: 온도가 종속 변수이고 월이 독립 변수이다.
  • type: 그래프의 종류를 나타낸다.

type="l"
type="o"
type="s"
type="b"

  • type="l": 선만 존재
  • type="o": 선과 점이 존재(점이 선 아래에 존재함)
  • type="b": 선과 점이 존재(점이 선 위에 존재함)
  • type="s": 계단형 선
  • lty: 선의 종류를 지정하는 데 사용한다.

선그래프 종류 https://th.bing.com/th/id/OIP.5fcdVrWwtVTSN8FmWZcRBwHaHa?pid=ImgDet&w=474&h=474&rs=1

  • lwd: 선의 굵기를 선택

복수의 선그래프 작성

month<-1:12
# 2019년도 서울시 월별 평균 기온
temperature2019 <- c(0.5, 1.2, 6.1, 12.8, 18.3, 23.1, 26.0, 25.7, 20.2, 14.5, 7.8, 2.1)
# 1980년도 서울시 월별 평균 기온
temperature1980 <- c(-3.0, -1.2, 4.1, 10.0, 16.5, 21.0, 25.5, 26.0, 21.5, 14.0, 7.0, -0.8)
plot(temperature2019~month,
     main="서울시 월별 날씨",
     type="b",
     lty=1,
     lwd=1,
     col="blue",
     xlab="월",
     ylab="평균 기온 (°C)",
     ylim=c(-3,30))
lines(temperature1980~month,
      type="b",
      col="red")

결과

  • ylim=c()와 같은 경우는 y축의 범위를 설정하는 역할을 한다.
  • lines: plot에 또 다른 그래프를 그리는 역할을 한다.

'확률 통계 > R 데이터 분석' 카테고리의 다른 글

데이터 전처리  (1) 2024.09.02
자료의 탐색  (0) 2024.09.01
단일변수 자료의 탐색  (0) 2024.08.29
(Ch8) 조건에 맞는 데이터의 위치 찾기  (1) 2024.08.26
(Ch 7) apply함수&사용자 정의 함수  (1) 2024.08.26