본문 바로가기
데이터 [Data]/R

R 데이터시각화 함수를 활용한 탐색적 자료분석

by 냉철하마 2021. 6. 10.

질적 자료의 표현: 질적 자료를 표현하기 위하여 이용되는 그래프에는 막대그래프(bar graph), 원그래프(pie chart) 등이 있다. 

막대그래프 : 질적 자료의 각 범주의 도수나 상대도수를 막대의 높이로 나타낸 그래프를 막대그래프라고 한다.

 

 

> ### 1-1) 도수분포표와 막대그래프 ####

> x <- c("도보", "대중교통", "승용차", "도보", "도보", 

+        "자전거", "도보", "대중교통", "대중교통", "자전거",

+        "도보", "도보", "승용차", "자전거", "대중교통", 

+        "대중교통", "대중교통", "자전거", "도보", "승용차",

+        "도보", "대중교통", "승용차", "도보", "도보", 

+        "자전거", "도보", "대중교통", "대중교통", "자전거")

> x <- factor(x)

> table(x)

x

대중교통     도보   승용차   자전거 

       9       11        4        6 

> barplot(table(x), xlab="범주", ylab="도수", main="통학수단 막대그래프")

 

> ### 1-2) 히스토그램 ####

> x=c(21.6,  23.6,  22.4,  25.3,  20.6,  26.1,  20.6,  23.4,  25.3,  21.3,

+     35.1,  24.9,  21.8,  23.3,  22.2,  19.3,  18.8,  22.3,  21.6,  28.6,

+     17.3,  20.3,  19.0,  38.1,  16.7,  17.1,  20.2,  21.7,  16.2,  26.8,

+     29.7,  24.4,  21.2,  30.5,  29.3,  28.0,  18.0,  25.4,  19.3,  23.0,

+     20.6,  32.0,  29.4,  28.1,  23.9,  26.3,  27.4,  26.0,  29.2,  24.6)

> hist(x, prob=TRUE, main="히스토그램", sub="너트 조임 압력")

 

> ### 1-3) 상자그림 ####

> x=c(21.6,  23.6,  22.4,  25.3,  20.6,  26.1,  20.6,  23.4,  25.3,  21.3,

+     35.1,  24.9,  21.8,  23.3,  22.2,  19.3,  18.8,  22.3,  21.6,  28.6,

+     17.3,  20.3,  19.0,  38.1,  16.7,  17.1,  20.2,  21.7,  16.2,  26.8,

+     29.7,  24.4,  21.2,  30.5,  29.3,  28.0,  18.0,  25.4,  19.3,  23.0,

+     20.6,  32.0,  29.4,  28.1,  23.9,  26.3,  27.4,  26.0,  29.2,  24.6)

> fivenum(x)

[1] 16.20 20.60 23.35 26.80 38.10

> boxplot(x, main="예제에 대한 상자그림")

> boxplot(x, range=0, main="예에 대한 상자그림(range=0)")

이상점 없이 모든 점이 상자그림 안에 포함됨

 

 

> # 2-1: 산점도

> gpa <- c(3.9, 3.8, 4.3, 2.9, 3.5)

> toeic <- c(880, 730, 920, 550, 670)

> student <- data.frame(gpa, toeic)

> plot(student, main="평균평점과 토익 사이의 산점도", xlab="평균평점", ylab="토익점수",

+      pch=3, cex=2, col="red")

 

 

> # 2-2: 히스토그램

> sales <- c(9.77,  9.98,  10.12, 10.40,  9.99,  9.81, 10.21, 10.19, 10.13,  9.81,

+            9.53, 10.05,  10.15, 10.07, 10.19, 10.26,  9.93,  9.97,  9.74, 10.01,

+            9.84, 10.02,  10.16,  9.77,  9.85, 10.32, 10.01, 10.05,  9.98,  9.93,

+            9.87,  9.95,   9.83,  9.95, 10.19,  9.73, 10.25,  9.62,  9.92, 10.11,

+            10.36, 9.73,  10.00, 10.22, 10.01, 10.19, 10.10, 10.32, 10.13,  9.66)

> hist(sales, main="주당 매출액의 히스토그램",            # 제목 설정

+      sub="A 식품회사가 거래하고 있는 50개의 슈퍼마켓",  # 부제목 설정

+      breaks=seq(9.525, 10.435, length=8), 

+      # 구간설정 방법 지정 : 범위 10.4-9.53=0.87, 계급 k=[1+3.322*log50]=[6.644]=7,

+      # 계급간격 0.87/7=0.124이므로 0.13으로 규정

+      # 어떠한 자료도 경계값에 놓이지 않게 하기 위해 최소값에서 유효자리 단위값에

+      # 0.5를 곱한 값을 뺀 9.525가 최소값, 계급 너비 0.13씩 계급 7회 더하여 최대값 10.435 설정

+      # (계급 경계값: 9.525, 9.655, 9.785, 9.975, 10.045, 10.175, 10.305, 10.435)

+      xlim=c(9.53, 10.4), ylim=c(0,15),   # x축 범위(최솟값, 최댓값), y축 범위(도수) 지정

+      xlab="주당 매출액(단위: 만원)", ylab="도수",   # x축 제목, y축 제목 지정

+      col=rainbow(7), col.main="DarkRed")  # rainbow 함수 이용하여 히스토그램 색깔 표시 (+제목)

 

> # 2-3: 상자그림

> kg <- c(68, 63, 70, 48, 69, 73, 62, 58, 74, 61, 69, 70)

> five <- fivenum(kg) # 다섯 숫자 요약: 최솟값, 제1사분위수(Q1), 중앙값, 제3사분위수(Q3), 최댓값

> five    # 최솟값 48.0, Q1=61.5, 중앙값=68.5, Q3=70.0, 최댓값 74.0

[1] 48.0 61.5 68.5 70.0 74.0

> boxplot(kg, main="몸무게 상자그림",     # 제목 설정

+         xlab="A대학 정보통계학과 12명", ylab="몸무게(kg)",  # 축 제목 설정

+         col="#F4917E", ylim=c(45,75),  # 색깔("#RRGGBB"), 값의 범위(최소/최대보다 넓게) 설정

+         border="Brown")     # border="(color)" : 테두리 색깔 설정

댓글