반응형
결측치 처리
분석자가 데이터를 코딩하는 과정에서 실수로 입력하지 않았거나, 응답자가 고의로 응답을 회피한 경우 결측치(Missing Values, R에서는 NA로 표시)가 발생한다. 이 경우 결측치 항목의 최대 자리수만큼 숫자 9를 채워 부호화하거나 하이픈(-)으로 해당 항목을 채워 넣는다. 결측치를 처리하는 방법에는 결측치를 제거하는 방법도 있지만, 결측치를 0이나 평균값으로 대체하는 방법도 고려해 볼 수 있다.
1. 결측치 확인
summary() 함수를 이용하여 특정 변수의 결측치를 확인할 수 있으며, 결측치가 포함된 데이터를 대상으로 합계를 구하는 sum() 함수를 실행하면 'NA'가 출력된다.
- 결측치 자료 조합 확인용 시각화 도구
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
install.packages("VIM")
require(VIM)
# 결측치 자료 조합 확인용 시각화 도구
aggr(x, prop = FALSE, numbers = TRUE)
# 두 개의 변수간의 결측치 관계 확인 시각화 도구
marginplot ( x[c("Sepal.Width", "Petal.Length")],
pch = 20,
col = c("darkgray","red","blue"))
head(x[, c("Sepal.Width","Petal.Length")])
# Matrix/DataFrame의 행(data)별 결측치 확인
rowSums(is.na(x))
sum(rowSum(is.na(x))>0)
sum(is.na(x))
|
2. 결측치 제거
결측치를 제거하여 데이터를 연산하는 방법에는 자체 함수에서 제공되는 속성을 이용하는 방법과 결측치 제거 함수를 이용하는 방법이 있다.
함수 사용 예시 | 설명 |
sum(dataset$변수, na.rm=T) | 결측치 제거 |
var2 <- na.omit(dataset$변수) | 해당 변수(칼럼)의 결측치 제거 |
1
2
3
|
# 결측치를 제외한 새로운 데이터셋 생성
|
3. 결측치 대체
결측치를 제거하면 결측치를 포함하는 관측치가 제거된다. 관측치를 유지하기 위해서는 결측치가 0이나 평균으로 대체하는 방법을 선택한다.
함수 사용 예시 | 설명 |
dataset$변수 = ifelse( !is.na(x), x, 0 ) | 결측치를 0으로 대체 |
dataset$변수 = ifelse( !is.na(x), x, round(mean(x, na.rm=T), 2) ) | 결측치를 평균값으로 대체 |
반응형
'빅데이터 > R' 카테고리의 다른 글
[R] 데이터 조작 - dplyr 패키지 활용하기 (0) | 2019.12.08 |
---|---|
[R] 데이터 전처리 - 코딩 변경 (0) | 2019.12.08 |
[R] 데이터 전처리 - 데이터 셋 보기 (0) | 2019.12.04 |
[R] 데이터 분석 절차와 데이터 종류 | 다중 변수(다변량) 자료 탐색 (0) | 2019.12.03 |
[R] 데이터 시각화 - 이산변수 막대 차트 & 원형 차트 (0) | 2019.12.02 |