[R] 결측치 확인 및 개수 확인 - is.na()
데이터는 완벽할 수 없다. 완벽하면 좋겠지만 여러 이유로 수집되지 못하는 결측치가 존재하기 마련이다. 이 결측치를 확인하는 것은 매우 중요하다. 이번 포스팅에서는 결측치가 어디에 있는지 확인하고, 그 개수를 세보는 내용을 다루겠다.
*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.
2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.11.21)
분석용 데이터 (update 22.11.21)
2022년 11월 21일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 범주형 자료 분석 - 모평균 검정 - 반복 측정 자료 분석 - 통계
medistat.tistory.com
코드를 보여드리기에 앞서 워킹 디렉토리부터 지정하겠다.
워킹 디렉토리에 관한 설명은 다음 링크된 포스트에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 작업 디렉토리 (Working Directory) 지정 - getwd(), setwd()
setwd("C:/Users/user/Documents/Tistory_blog")
데이터를 불러와 df에 객체로 저장하겠다.
데이터 불러오는 방법은 다음 링크에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : EXCEL - read_excel(), read.xlsx()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 저장하기 : CSV 파일 - write.csv(), write_csv()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : SAS file (.sas7bdat) - read.sas7bdat(), read_sas()
install.packages("readr")
library("readr")
df<-read_csv("Data.csv")
코드 - 결측치 위치 확인
is.na(df)
is.na(df) : 결측치는 "TRUE"를, 결측치가 아니면 "FALSE"를 반환하는 함수를 데이터 df에 적용하라
결과
IDNO SEX SMOK ALCOHOL RESID TWIN RH HTN SBP ALT AST ALT_POSTMED FVC_pPRED TRANSPORT
[1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[10,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
결과창 중 일부만 가져왔다. 1000명에 대한 데이터이므로 행의 개수는 1000개인데 그 중 10개만 가져온 것이다.
결측치는 TRUE로 반환했을 것인데, 여기까지는 결측치가 보이지 않는다.
결측치가 몇 개인지 알고 싶은데, 이 1000개를 들여다보는 것은 말은 안 된다. 이때 다음 코드를 쓰면 개수를 구할 수 있다.
코드 - 결측치 개수 확인
sum(is.na(df))
sum(is.na(df)) : is.na(df)에서 TRUE인 것의 개수를 계산하라.
결과
8
8개가 결측치임을 알 수 있다.
그럼 만약에 변수별로 결측치의 개수를 확인하고 싶다면 어떻게 해야할까? 만약 AST의 결측치 개수를 보고 싶다면 다음 코드를 시행하면 된다.
코드
sum(is.na(df$AST))
결과
8
[R] 결측치 확인 및 개수 확인 정복 완료!
작성일: 2022.11.25.
최종 수정일: 2022.11.25.
이용 프로그램: R 4.2.2
RStudio v2022.07.2
RStudio 2022.07.2+576 "Spotted Wakerobin" Release
운영체제: Windows 10, Mac OS 12.6.1
'통계 프로그램 사용 방법 > R' 카테고리의 다른 글
[R] 변수 계산 (산술 연산) (0) | 2022.11.25 |
---|---|
[R] 변수의 유형 (타입, type) 확인 및 변경 - as.factor(), as.numeric(), as.character(), str() (0) | 2022.11.21 |
[R] 조건에 맞는 자료 추출하기 (0) | 2022.11.10 |
[R] 피셔 정확 검정에서 workspace 부족 에러 해결 방법 (1) | 2022.11.10 |
[R] 데이터 저장하기 : CSV 파일 - write.csv(), write_csv() (0) | 2022.08.10 |