Dplyr을 사용하여 na 값이 있는 행을 삭제하는 방법


dplyr 패키지에서 다음 방법을 사용하여 NA 값이 있는 행을 제거할 수 있습니다.

방법 1: 임의의 열에서 NA 값이 있는 행 제거

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

방법 2: 특정 열에서 NA 값이 있는 행 제거

 library (dplyr)

#remove rows with NA value in 'col1' or 'col2'
df %>%
  filter_at(vars(col1, col2), all_vars( ! is. na (.)))

방법 3: 특정 열에서 NA 값이 있는 행 제거

 library (dplyr)

#remove rows with NA value in 'col1'
df %>%
  filter( ! is. na (col1))

다음 예에서는 다음 데이터 프레임에서 실제로 이러한 메서드를 사용하는 방법을 보여줍니다.

 #create data frame with some missing values
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
                 points=c(99, 90, 86, 88, NA),
                 assists=c(33, NA, 31, 39, 34),
                 rebounds=c(NA, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24
5 C NA 34 28

방법 1: 임의의 열에서 NA 값이 있는 행 제거

다음 코드는 데이터 프레임의 모든 열에서 NA 값이 있는 행을 제거하는 방법을 보여줍니다.

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

  team points assists rebounds
3 B 86 31 24
4 B 88 39 24

남은 두 행은 어떤 열에도 NA 값이 없는 행들뿐입니다.

방법 2: 특정 열에서 NA 값이 있는 행 제거

다음 코드는 데이터 프레임의 모든 열에서 NA 값이 있는 행을 제거하는 방법을 보여줍니다.

 library (dplyr)

#remove rows with NA value in 'points' or 'assists' columns
df %>%
  filter_at(vars(points, assists), all_vars( ! is. na (.)))

  team points assists rebounds
1 A 99 33 NA
2 B 86 31 24
3 B 88 39 24

남은 행은 ‘포인트’ 또는 ‘어시스트’ 열에 NA 값이 없는 행뿐입니다.

방법 3: 특정 열에서 NA 값이 있는 행 제거

다음 코드는 데이터 프레임의 특정 열에서 NA 값이 있는 행을 제거하는 방법을 보여줍니다.

 library (dplyr)

#remove rows with NA value in 'points' column
df %>%
  filter( ! is. na (dots))

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24

남은 유일한 행은 “포인트” 열에 NA 값이 없는 행입니다.

추가 리소스

다음 튜토리얼에서는 dplyr을 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.

dplyr: 특정 문자열이 포함된 행을 필터링하는 방법
dplyr: NA 값을 0으로 바꾸는 방법
dplyr: “포함되지 않음” 필터를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다