데이터과학_13_2

김경민·2024년 11월 27일

3학년 2학기

목록 보기
24/29

📌 Data Visualiztion

Tasks

    1. 기본 탐색 데이터 분석
    1. 연구 질문에 대한 데이터 분석
    1. 데이터 정리(전처리)
    1. 프로토타입 모델(시험 모델링)
    1. 시각화

8 Best Data Visualization Tools and Libraries to Learn in 2022

    1. Tableau
    1. Microsoft Power BI
    1. QlikView
    1. QlikSense
    1. Excel
    1. Matplotlib - Python
    1. ggplot2 - R
    1. D3.js - Javascript

📌 기본적인 그래프 함수

  • barplot(범주형)
    막대그래프
  • pie(범주형)
    원그래프
  • hist(연속형)
    히스토그램
  • boxplot(연속형)
    상자그림
  • plot()
    기본적으로는 산점도
    자료의 형태에 따라 유동적

📌 막대그래프 - barplot()

barplot()

  • cyl의 빈도표(table)을 구하고, 이를 막대그래프로

  • col은 사각형 색상 지정

  • border는 테두리 색상 지정

  • 그룹 별로 다른 색상 지정 가능

  • col=c( , , )

📌 수직, 수평 누적 막대그래프

  • 변수 cyl의 각 값에 대하여 gear의 비율만큼 다른 색상으로

  • table(변수1, 변수2)와 같이 2차원 교차표를 생성하여 막대그래프

  • 변수 cyl의 각 값에 대하여 gear의 비율만큼 다른 색상으로

  • beside=T 옵션으로 수평으로

📌 가공된 데이터 막대그래프 그리기

-1차 가공된 데이터를 입력할 때는 벡터로 입력

  • names()로 그룹 이름 부여하고, 이를 막대그래프로

정리된 데이터 입력하기 – 2차원

  • 2차원 데이터를 입력할 때는 행렬 형태로 입력

  • 열이름 -> colnames

  • 행이름 -> rownames

  • 행렬로 입력된 데이터를 이용하여 수직누적 막대그래프를 그릴 수 있다.

  • legend 추가 가능

  • 행과 열 바꾸기

  • t(matrix) 전치행렬(행과 열을 바꾸는 기능)

그룹별 평균을 높이로

  • tapply()를 적용하여 각 그룹별 평균을 구하고
  • 그 결과를 barplot()을 이용하여 그린다.

📌 원그래프 - pie()

pie() - 원그래프

  • 색상은 난수로 생성

  • pie(벡터, labels=표시내용)

  • 벡터 pct는 비율(%) 계산

  • label: 이름(비율%) 만들기

  • 옵션 labels 이용

그룹별 합계를 높이로

  • csv 파일의 인코딩 주의

  • tapply()를 적용하여 각 그룹별 합계를 구하고

  • 그 결과를 barplot()을 이용하여 그린다.

  • tapply()를 적용하여 각 그룹별 평균을 구하고

  • 그 결과를 barplot()을 이용하여 그린다.

  • paste0를 이용하여 가로축의 이름 변경

data <- read.csv("../mydata/도로교통공단_시군구별 월별 교통사고 통계_20231231.csv", fileEncoding = "CP949")
head(data)

📌 히스토그램 - hist()

명령어설명
hist(연속형)default 히스토그램
hist(x, prob=T)y축을 상대도수로
hist(x, breaks=c())지정한 숫자를 계급의 양끝으로
hist(x, breaks=10*(0:4))구간 [0,10], (10,20], (20,30], (30,40]
hist(x, breaks=10*(0:4), right=FALSE)구간 [0,10], [10,20), [20,30), [30,40)

hist(연속형)- 디폴트

  • 자동으로 계급 설정

  • breaks로 계급 직접 입력 가능


📌 상자그림 - boxplot()

boxplot(연속형)

  • 아래/위는 최솟값/ 최댓값을 나타낸다.

  • 상자의 가운데 굵은 선은 중앙값(median)

  • 상자의 아래/위는 사분위수의 Q1과 Q3를 나타낸다.

boxplot(연속형 ~ 범주형)

  • cyl의 값에 따라 3그룹으로 분리하고, 각 그룹의 상자그림을 그린다.

  • 색상을 1개만 지정하면 모두 같은 색

  • 그룹별로 다르게 지정 가능

  • 아래 동그라미는 이상점(outlier)


📌 산점도 - plot()

plot(x, y)

  • x, y는 모두 연속형 자료
  • 데이터 cars
  • speed: 속력
  • dist: 제동거리
  • x, y 순서로 인식
data <- read.csv("../mydata/도로교통공단_시군구별 월별 교통사고 통계_20231231.csv", fileEncoding = "CP949")
jongro <- subset(data, 시군구 =='종로구')
jongro

시계열 그래프

  • plot(시간, 연속형)
  • type=‘o’에서 ‘o'는 소문자 오(o)

📌 그래프 옵션

📌 (1) 그래프 옵션 – 제목/축

인수설명
main="메인 제목"제목 설정
xlab="제목", ylab="제목"x, y축 제목
xlim=c(-10,10), ylim=c(-10,10)x, y축 범위
axes=Fx, y축을 표시하지 않음

데이터 cars: speed vs dist

  • 데이터 cars는 속력(speed)에 따른 제동 거리(dist)
  • 기본 그래프
  • main=전체 그래프의 제목

제목붙이기

  • xlab=x축 제목
  • ylab=y축 제목

x, y축의 범위

  • x축의 범위는 xlim=c(start, end)
  • y축의 범위는 ylim=c(start, end)

x, y 축의 눈금

  • x, y축 눈금은 별도의 명령어 axis() 사용
  • side=1: 아래쪽
  • side=2: 왼쪽
  • at: 표시할 위치
  • labels: 표시할 내용

축지우기

  • axes=F으로 축표시 제거

📌 (2) 그래프 옵션 - 그래프타입

인수설명
type="p"점 모양 그래프 (기본값)
type="l"선 모양 그래프 (꺾은선 그래프) - 소문자 l(엘)
type="b"점과 선 모양 그래프
type="c""b"에서 점을 생략한 모양
type="o"점과 선을 중첩해서 그린 그래프
type="h"각 점에서 x축까지의 수직선 그래프
type="s"왼쪽 값을 기초로 계단 모양으로 연결한 그래프
type="S"오른쪽 값을 기초로 계단 모양으로 연결한 그래프
type="n"축만 그리고 그래프는 그리지 않는다

📌 (3) 그래프 옵션 - 색/선//기호

인수설명
col=1, col="blue"기호의 색 지정, 숫자로도 지정 가능
1-검정, 2-빨강, 3-초록, 4-파랑, 5-연파랑, 6-보라, 7-노랑, 8-회색
lty=숫자, lty="문자"선 종류
pch=0, pch="문자"점의 모양
bg="blue"그래프의 배경색
lwd=숫자선의 굵기
cex=숫자점이나 문자의 크기

📌 (3-1) 그래프 옵션 – 선 모양

인수설명
lty=0, lty="blank"투명선
lty=1, lty="solid"실선
lty=2, lty="dashed"대쉬선
lty=3, lty="dotted"점선
lty=4, lty="dotdash"점선과 대쉬선
lty=5, lty="longdash"긴 대쉬선
lty=6, lty="twodash"2개의 대쉬선

📌 (3-2) 그래프 옵션 - 점 모양

pch = 번호

profile
무지(無知)

0개의 댓글