- 기술 통계
- 수집한 자료로 정리, 표현, 요약, 해석 등을 통해 자료의 특성을 규명하는 기법으로 현재의 현상을 기술하거나 설명하는 것
- 기술 통계 기법
- 빈도 분석: 범주형 자료의 분포적 특성 파악
- 기술 분석: 연속형 자료의 주요 특성 값 파악
- 교차 분석: 범주형 자료의 두 개 이상의 변수에 대해 교차 빈도 분석
- 다차원 척도법: 자료 간의 근접성 시각화하여 패턴이나 구조 파악. 유사성, 비유사성 측정하여 다차원 공간에 점으로 표현
- 그룹 분석: 범주형 자료별 그룹 함수 적용한 기법
- 탐색적 자료 분석 도구: 주어진 자료를 가지고 정보 찾도록 다양한 자료 분석 도구. 산포도, 박스플롯, 히스토그램 같은 그래픽 도구 활용
- 자료 구분
- 연속형 자료
- 계산 가능한 수치들로 이루어진 자료로 등간척도나 비율척도 형태의 자료로 분류
- 등간척도
- 각 수준의 간격이 동일하지만 0은 없는 척도로, 양적 차이의 덧셈, 뺄셈은 가능하지만 곱셈, 나눗셈은 불가능
- 비율척도
- 각 수준의 간격이 동일하면서 0을 가지고, 사칙연산 모두 가능
- 연속형 자료
- 빈도 분석
- 자료의 특정 변수의 빈도와 비율을 산출하는 분석으로 범주형 변수에 대하여 빈도표를 작성하고, 막대그래프, 파이차트, 히스토그램 같은 그래프를 그리는 분석 방법
- 자료의 분포현황을 파악하여 분포적 특성을 파악하는 것으로 그래프로 기술하는게 좋음
- R 빈도 분석
- table()
- 입력된 벡터에 대하여 범주별 빈도 수 산출
- table(질적벡터, 질적벡터)
- 질적벡터 분할표
- 양적 → 질적으로 변환시 ifelse 사용
- ifelse(fish_df$weight ≥ 500, “Large”, “Small”)
- prop.table(table())
- 입력된 빈도표에 대하여 범주별 백분율 산출(비율 계산)
- ex)
- prop.table(table(), margin=1)
- margin이 1 이면 총행 비율합, 2면 열 비율합
- descr 패키지의 freq()
- 빈도 분석 수행 (막대 그래프 출력)
- plot=F 로 하면 표로 출력
- addmargins(table())
- table()의 결과 자료의 주변 합 계산
- ex)
- addmargins(table(), margin=1)
- margin이 1이면 행합, 2면 열합
- barplot(height(table()), option)
- 막대 그래프
- height는 각 막대의 높이, main은 제목, 범례는 legend()
- legend()
- 범례 표시
- pie(table(), main=””, lables=””)
- 원 그래프
- table()
- 기술 분석
- 연속형 자료의 특성을 쉽게 파악할 수 있도록 묘사하는 것을 목적으로 수집한 자료의 주요 특성을 파악하는 기법
- 자료의 중심경향성 파악
- 평균값, 중앙값, 최빈수값
- 자료의 변동성 측정
- 최댓값, 최솟값, 범위, 분산, 표준편차, 변동계수, 왜도와 첨도
- 기술 분석 함수
- length(): 자료수
- mean(): 평균
- trim=0.1 이면 위아래로 10%씩 제거
- median(): 중앙값
- range(): 범위
- diff(range()): 최대값 - 최소값
- which.max(table()): 최빈값
- var(): 분산
- sd(): 표준편차
- sd/mean: 변동계수
- quantile(): 사분위수 범위
- 0.25=1사분위수, 0.05=5백분위수, 0.5=50백분위수 (중위수)
- Q3 - Q1: IQR
- (Q3 - Q1) / 2: 사분위편차
- summary()
- 최소값, 사분위값, 중앙값, 평균, 최대값을 한 번에 파악
- psych 패키지의 describe() 함수
- 기술분석 (모든변수)
- 다차원 척도법
- 개체간 근접성을 시각화하는 통계 기법
- 자료들 사이의 유사도를 측정하고 이들의 거리를 2차원, 3차원 공간상에 점으로 표현
- 자료들 간의 거리 계산은 유클리드 거리를 사용 (변수 값들의 차이를 제곱하여 합산한 거리)
- 주요 함수
- dist(x)
- 행렬에 대해서 유클리드 거리 계산
- cmdscale(x, k=2)
- 거리를 최대한 유지하며 k차원으로 축소
- isoMDS(x, k=2): 비계량적 MDS
- plot(x, type=”n”)
- 2차원 산점도
- scatterplot3d 패키지의 scatterplot3d(data_mds$point, type=”h”, pch=2, angle=40)
- 3차원 산점도
- dist(x)
- 다차원 척도법 자료 생성
- ex)
- data ← subset(data, select=c(열이름들))
- data$열이름 ← as.numeric(as.factor(data$열이름))
- 다차원 척도법
- ex)
- data_mat ← as.matrix(data[, -1])
- data_dist ← dist(data_mat)
- 2차원 시각화
- ex)
- data_mds ← isoMDS(data_dist)
- plot(data_mds$point, type=”n”)
- text(data_mds$point, labels=data$고객)
- abline()
- 3차원 시각화
- isoMDS(data_dist, k=3)
- scatterplot3d(data_mds$___)
- 그룹 분석
- 자료를 집단 별로 나눈 그룹에 함수를 적용한 분석 방법
- 빈도, 그룹별 합계, 평균, 표준편차, 중앙값, 최소값, 최대값 같은 정보들을 제공
- 패키지
- dplyr 패키지
- 주요 함수
- group_by()
- 그룹 테이블 생성 후
- summarise()
- 분석
- ex) summarise(group_by(data_frame, 속성1, 속성2, …), 함수1, 함수2,…)
- ex) summarise(group_by(data, 열이름), n(), sum(열이름), mean(쇼핑액))
- group_by()
- 탐색적 자료 분석 (EDA, Exploratory Data Analysis)
- 주어진 자료만 가지고 충분한 정보를 찾을 수 있도록 제공된 자료 분석 기법
- 자료 분석 기법으로 박스 플롯, 산포도, 줄기 잎 도표, 히스토그램, Q-Q 도표 등을 활용
- 박스 플롯
- 사분위수를 시각화한 것으로 수치형 자료 파악시 자주 사용
- 자료의 집합의 범위와 중앙값 빠르게 확인, 이상치가 있는지 확인
- 주요 함수: boxplot()
- 산포도(scatter plot)
- 두 변수 간의 연관성을 파악하기 위해 가로 축과 세로 축에 자료를 점으로 표현
- 주요 함수
- plot(x, y, main=””, xlab=””, ylab=””, col=”red, pch=, cex=)
- ex) plot(iris$Petal.Length, iris$Petal.width)
- pairs()
- 여러 개의 변수를 짝지어 한 번에 산점도를 그린다.
- plot(x, y, main=””, xlab=””, ylab=””, col=”red, pch=, cex=)
- 줄기 잎 도표(stem and leaf diagram)
- 줄기에 해당되는 단위를 정하고 그 단위 아래 단위의 자료를 잎의 크기 순서로 배열한 도표
- 주요 함수
- stem(x, scale=1)
- 히스토그램
- 연속형 자료의 분포를 시각화 (막대그래프)
- hist()
- Kernel Density Estimation (KDE)
- hist(x, probability = T, breaks = 10)
- Q-Q 도표(Quantile-Quantile Diagram)
- 데이터가 정규분포와 같은 특정한 분포를 따르는지 시각적으로 검토하는 방법
- 주요 함수
- qqnorm(x, …)
- qqline(x, …)
- 원 그래프
- pit(table())
'Data Analysis > R' 카테고리의 다른 글
R / 8장 데이터 통계적 추론 2 (1) | 2023.12.15 |
---|---|
R / 7장 데이터 통계적 추론 1 (1) | 2023.12.15 |
R / 5장 데이터 전처리 (1) | 2023.10.17 |
R / 4장 R 프로그래밍 (1) | 2023.10.17 |
R / 3장 R 자료관리, 수집 (0) | 2023.10.14 |