반응형

[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

반응형

+ Recent posts