일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인공지능
- 반복있음
- 경제학
- r
- 반복없음
- 변량효과모형
- 분산분석
- 티스토리챌린지
- css
- 회귀분석
- 정규분포
- 추정
- 두 평균의 비교
- 에세이
- 혼합효과모형
- 이항분포
- 산점도
- 고정효과모형
- 확률
- version 2
- 오블완
- 가설검정
- 이원배치 분산분석
- 통계학
- version 1
- 데이터 과학
- html
- 글쓰기
- 변동분해
- JavaScript
- Today
- Total
생각 작업실 The atelier of thinking
14-1. R 을 이용한 자료 요약 본문
Chapter 14. R을 이용한 자료 요약
R을 이용하여 자료를 요약하는 법을 알아보겠습니다.
자료요약은 지난 11회차에 간단히 알아봤습니다.
2023.08.28 - [통계학 이야기] - 11. 자료의 요약
아래의 자료를 수치와 그래프를 이용하여 정리하고자 합니다.
◈ 파이 판매량 자료
9월 한달간 판매된 파이를 팔릴 때마다 기록한 자료입니다.
가장 기본적인 txt 파일 자료입니다.
1. 자료 불러오기
R 에서 직접 자료를 입력할 수도 있지만, 대부분의 경우 외부에서 text파일, csv, excel 등의 파일 자료를 이용하는 경우가 많습니다.
자료를 불러들이는 함수를 이용하여 요약할 데이터를 변수에 저장합니다.
pie <- scan("pie.txt", what="character")
scan( ) 함수를 이용하여 불러들인 데이터를 "pie" 라는 변수에 담습니다. 이 pie 변수를 요약할 것입니다.
이 pie 변수에는 234개의 데이터가 있음을 알 수 있습니다.
2. 도수분포표
이 파이 판매량 자료는 범주형 자료입니다. 따라서, 자료요약을 위하여 도수분포표를 사용합니다.
table(pie)
▶ table( ) 함수
범주형 데이터를 요약하여 표 형태로 출력하는 함수입니다.
범주형 데이터는 각 범주별 빈도수, 백분율, 상대빈도 등으로 나타낼 수 있습니다.
이 table( ) 함수는 빈도를 출력하는 함수입니다.
따라서, 백분율로 나타낼 때에는 다른 함수 또는 수식을 이용하여 사용할 수 있습니다.
Sale <- table(pie)
prop.table(Sale)
▶ prop.table( ) 함수
table( ) 함수로 백분율을 표기하려면 prop.table( ) 함수를 함께 사용해야 합니다.
prop.table( ) 함수는 주어진 테이블의 셀 값을 전체 합으로 나누어 백분율로 변환합니다.
위 결과값의 소숫점 자릿수를 조정하기 위해 필요한 함수로는 round( ) 함수가 있습니다.
round(prop.table(Sale),3)
▶ round( ) 함수
숫자를 지정된 소숫점 자릿수로 반올림하는 데 사용합니다. 위의 경우는 소숫점 3번째 자리로 반올림한 것입니다.
이제 빈도수와 백분율을 함께 표기해 보겠습니다.
SaleProp <- round(100*prop.table(Sale),1)
cbind(Sale,SaleProp)
빈도수와 백분율을 함께 나타낼 수 있습니다.
▶cbind( ) 함수
cbind( ) 함수는 주어진 벡터나 행렬들을 열로 결합하여 새로운 행렬을 만드는데 사용합니다.
열 이름은 기본적으로 각 벡터의 이름이 사용됩니다.
cbind( ) 함수는 더 많은 벡터나 행렬을 결합할 수 있으며, 열의 갯수는 결합된 벡터나 행렬의 갯우에 따라 결정뵌니다.
3. 막대그래프
파이판매량 도수분포표를 막대그래프로 나타내 보겠습니다.
barplot(Sale, ylim = c(0,60) ,space = 0.2, main = "파이판매량")
abline(h=0)
abline(h=c(20,40,60),lty=2)
막대그래프는 범주자료를 비교할 때 유용하게 사용할 수 있습니다. 위 그래프에서 가장 많이 팔린 파이는 애플파이라는 것을 쉽게 알 수 있습니다.
파이별로 색상을 달리해 보겠습니다.
barplot(Sale, ylim = c(0,60) ,space = 0.2, main = "파이판매량",
col=c("purple","red","yellow","blue","green","brown"))
abline(h=0)
abline(h=c(20,40,60),lty=2)
▶ barplot( ) 함수
막대그래프를 그릴 때 사용하는 함수입니다.
함수의 매개변수들을 이용하여 그래프를 그릴 수 있습니다.
위 그래프의 경우 table( ) 함수로 만들어진 표의 값들이 높이에 해당하고 각각의 범주가 포함되어 있기 때문에 높이와 범주를 따로 구분하지 않고 'Sale'만으로 매개변수로 사용했습니다.
barplot(height, ...)
height는 막대의 높이로 사용될 값입니다. 일반적으로 숫자형 벡터가 주어지며,
각 값은 막대의 높이를 나타냅니다.
names.arg: 막대의 이름을 지정하는 문자열 벡터입니다.
col: 막대의 색상을 지정하는 값이나 색상 벡터입니다.
border: 막대의 테두리 색상을 지정하는 값이나 색상 벡터입니다.
main: 그래프의 제목을 지정하는 문자열입니다.
xlab: x 축의 레이블을 지정하는 문자열입니다.
ylab: y 축의 레이블을 지정하는 문자열입니다.
ylim: y 축의 범위를 지정하는 데 사용됩니다.
space : 막대 사이의 간격을 조정하는 데 사용됩니다
▶ abline( ) 함수
abline( ) 함수는 R에서 선을 그리는 데 사용됩니다. 주로 그래프에 수직선이나 수평선을 추가하는 데 활용된비다. 이 함수는 기울기와 절편을 지정하여 선을 그릴 수도 있습니다.
4. 파이차트(원도표)
이번에는 파이판매량 도수분포표를 파이차트로 나타내 보겠습니다.
pie(Sale, main = "파이판매량")
▶ pie( ) 함수
파이차트를 그릴 때 사용하는 함수입니다.
막대그래프와 마찬가지로 매개변수를 이용하여 그릴 수 있습니다. 위 그래프의 경우 데이터와 레이블이 함께 있는 'Sale' 을 사용하였기 때문에 Sale 하나만 매개변수로 사용했습니다. 따로 있을 경우는 (데이터,레이블) 순으로 입력하여주면 됩니다.
pie(x,labels)
x: 원형 차트에 표시할 데이터입니다. 일반적으로 벡터 형태로 입력됩니다.
labels: 원형 차트의 각 섹션에 대한 레이블입니다.
main: 원형 차트의 제목입니다. 원형 차트 위에 표시됩니다.
col: 원형 차트의 섹션 색상을 지정합니다.
radius: 원형 차트의 반지름을 지정합니다. 기본값은 1로 설정되어 원형 차트의 크기가 기본 크기입니다.
clockwise: 섹션을 그리는 방향을 지정합니다. 기본값은 FALSE로 설정되어 반시계 방향으로 그려집니다.
border: 섹션의 테두리 색상을 지정합니다.
labels.arg: 각 섹션에 대한 레이블의 위치를 지정합니다.
explode: 특정 섹션을 강조하기 위해 해당 섹션을 원에서 분리하는 정도를 지정합니다.
만약 어느 파이가 많이 팔렸는가를 알고 싶다면 파이차트는 적절해 보이지 않습니다. 앞서 막대그래프에 비해 비교해서 보기에는 한 눈에 알아채기 힘듭니다. 목적에 따라 그래프의 선택이 필요합니다.
정리
# 1.자료 불러오기
pie <- scan("pie.txt", what="character")
# 2. 도수분포표
table(pie)
Sale <- table(pie)
SaleProp <- round(100*prop.table(Sale),1)
cbind(Sale,SaleProp)
# 3. 막대그래프
barplot(Sale, ylim = c(0,60) ,space = 0.2, main = "파이판매량",
col=c("purple","red","yellow","blue","green","brown"))
abline(h=0)
abline(h=c(20,40,60),lty=2)
# 4.파이차트
pie(Sale, main = "파이판매량")
'통계학 이야기' 카테고리의 다른 글
15. 수치 자료의 중심 - 평균, 중앙값, 최빈값 (0) | 2023.09.05 |
---|---|
14-2. R 을 이용한 자료 요약 (0) | 2023.09.01 |
13. R 과 R Studio (0) | 2023.08.29 |
12. 데이터 시각화의 중요성을 알려주는 사례 (1) | 2023.08.28 |
11. 자료의 요약 (0) | 2023.08.28 |