다중변수 자료의 탐색
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: 점의 모양을 지정해주기 위한 것이다.

- 결론적으로 이 그래프를 통해서 중량이 증가함에 따라서 연비가 감소하는 경향을 볼 수 있다.
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 ≤ r ≤ 1
- r>0이면 양의 상관관계(x↑, y↑)
- r <0이면 음의 상관관계(x↑, y↓)
- 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="b": 선과 점이 존재(점이 선 위에 존재함)
- type="s": 계단형 선
- lty: 선의 종류를 지정하는 데 사용한다.

- 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 |