728x90
반응형
데이터 전처리(Data Preprocessing)
- 초기에 확보한 데이터를 정제하고 가공해서 분석에 적합한 데이터를 확보하는 과정
- 초기 데이터에는 정상 범위를 넘어서는 값이나 오류 데이터가 포함되어 있는 경우도 있기 때문에 이를 처리하지 않으면 통계 결과가 왜곡될 수도 있다.
- 예) 한국과 외국 초등학생의 발육 상태를 비교
결측 값(missing value)
- 데이터를 수집하고 저장ㅎ하는 과정에서 저장할 값을 얻지 못하는 경우 발생
- 예) 통계조사 응답자가 질문에 대해 답변을 하지 않음 - 고의 누락, 실수 누락
- 결측 값의 처리 방법
- 결측 값을 제거하거나 제외하고, 데이터를 분석
- 결측 값을 추정하여 적당한 값으로 치환한 후, 데이터를 분석
결측 값의 대체 및 제거
더보기
# 결측값의 대체 및 제거
mv1 <- c(1:3,NA,5,NA,7) # 결측값이 포함된 벡터 mv1
mv1
mv2 <- c(5,7,1,NA,3,NA,8) # 결측값이 포함된 벡터 mv2
mv1[is.na(mv1)] <- 0 # NA를 0으로 치환
mv1
mv2 # mv2
mv3 <- as.vector(na.omit(mv2)) # NA를 제거하고 새로운 벡터로 생성
mv3
결측 값이 포함된 데이터 프레임 생성
더보기
# 결측값이 포함된 데이터 프레임 생성
# NA를 포함하는 test 데이터 생성
mv <- iris
mv[1,2] <- NA; mv[1,3] <- NA
mv[2,3] <- NA; mv[3,4] <- NA
head(mv)
데이터 프레임의 열 별 결측 값 확인
더보기
# 데이터 프레임의 행별 결측 값 확인
rowSums(is.na(mv)) # 행별 na의 개수
sum(rowSums(is.na(mv))>0) # NA가 포함된 행의 개수
sum(is.na(mv)) # 데이터셋 전체에서 NA의 개수
결측 값 제외 새로운 데이터셋 만들기
더보기
# 결측 값을 제외하고 새로운 데이터셋 만들기
head(mv)
mv[!complete.cases(mv)] # NA가 포함된 행들 출력
my <- mv[complete.cases(mv),] # NA가 포함된 행 제거
head(my) # NA가 제외된 새로운 데이터셋 my
출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미
728x90
반응형