오늘은 R패키지에 있는 "mtcars"데이터를 이용하여서 , 자동차 중량(wt) 대비 연비(wt)의 선점도 (scatter diagram chart)를 그려보겠다.
R에 내장된 datasets : 내장된 데이터 셋을 불러오는 방법과 현재 설치된 패키지가 가지고 있는 데이터 셋을 조회하는 방법에 대한 코드를
살펴본다.
또한 410개의 패키지에서 제공하는 3140개의 데이터 셋에 대한 패키지 명 , 데이터 셋 명칭 , 데이터 셋 주제 (Topic) , 데이터 행 (row)의 수
데이터 열 (Column)의 수에 대한 정보가 포함되어 있는 파일을 알아 보겠다.
http://www.public.iastate.edu/~hofmann/data_in_r_sortable.html
https://vincentarelbundock.github.io/Rdatasets/datasets.html
--> 관련 자료들을 확인해 볼 수 있다.
아래 코드는 현재 사용자 환경에 설치된 패키지가 포함하고 있는 데이터 셋에 대한 정보를 불러온다.
Package_Data_List <- data(package = .packages(all.available = TRUE))
head(Package_Data_List$results)
# 패키지별 데이터 셋 정보의 상위 6개 항목을 확인
Package LibPath
[1,] "datasets" "C:/Program Files/R/R-3.5.1/library"
Item
[1,] "AirPassengers"
Title
[1,] "Monthly Airline Passenger Numbers 1949-1960"
--> 위의 결과값들은 상위 첫번째 값들만 가져와 보았다.
data("mtcars")
head(mtcars)
# inner data set
상위 mtcars를 확인해 본다.
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
첫번째 결과값들만 가져와 보았다.
?mtcars
불러온 데이터 셋에 대한 정보는 "?" 뒤에 해당 데이터 셋 명칭을 입력한다.
데이터 셋의 주제 , 설명 , 포맷 , 소스 등을 확인할 수 있다.
"?" 뒤에 데이터 셋 명칭을 입력하게 되면 RStudio를 사용하는 경우
우측의 Help 화면에서 해당 데이터 셋에 대한 정보가 나타난다.
str(mtcars)
문자열로써 mtcars의 정보를 가져온다.
'data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...
#데이터의 변수를 직접 이용
attach(mtcars)
#그래프의 창 크기를 설정
win.graph(7,5)
#단순 선점도 (중량 대비 연비)
plot(wt , mpg , main="자동차 중량 대비 연비 산점도", xlab="자동차 중량", ylab="연비(mpg)", pch=19, cex=1.2)
결과화면은 다음과 같다 .
우리는 다음과 같은 결과값에 따라서 다음과 같은 생각을 할 수 있다.
1.중량이 커질수록 연비는 어떻게 되는가?
2.연비가 높을수록 중량이 커지는가??
grid(col=3)
#단순회귀 적합선 추가 : lm(y~x) 함수 , abline()함수
sr <- lm(mpg~wt)
abline(sr , lty=2, lwd=2, col="red")
sr 의 결과값은 다음과 같다.
Call:
lm(formula = mpg ~ wt)
Coefficients:
(Intercept) wt
37.285 -5.344
계수에 대한 설명을 해주고 있다.
다음은 abline을 추가한 결과화면이다.
#단순회귀 적합선 식 표시
text(4,27, labels = paste0("Y=" , round(sr$coef[[1]],4),"(+)", round(sr$coef[[2]],4), " * X"), col=2, cex=1.2)
다음은 적합선 식을 표시한 결과화면이다 .
R패키지에 있는 'mtcars' 데이터를 이용하여 , 자동차 연비(mpg), 기통(cyl) , 출력(hp) , 중량(wt) 등 4가지간의 선점도를 작성한다.
# 산점 앵렬도 : 여러 변수들의 상관관계를 동시에 나타낸다.
pairs(mtcars[c(1, 2, 4, 6)])
pairs(~mpg+cyl+hp+wt, data = mtcars, main="자동차 특성치 산점행렬도", panel=function(x,y)
{points(x,y, pch=19, col=4); abline(lm(y~x), col=2)})
'학부공부 > 데이터마이닝과통계' 카테고리의 다른 글
조건부 확률 , 곱의 법칙 , 독립 사상 , 베이즈 정리 , 마르코프 결정 과정 , 베이즈 네트워크 (0) | 2018.12.06 |
---|---|
데이터셋을 활용하여서 회귀분석을 해보자. (0) | 2018.12.03 |
통계학의 개념 (0) | 2018.11.27 |
다양한 확률분포 (0) | 2018.11.24 |
구글서칭결과크롤링+CSV파일저장시키기 (3) | 2018.11.19 |
#IT #먹방 #전자기기 #일상
#개발 #일상