Dplyr을 사용하여 행을 삭제하는 방법(예제 포함)


dplyr을 사용하여 R의 데이터 프레임에서 행을 제거하려면 다음 기본 구문을 사용할 수 있습니다.

1. NA가 있는 행을 삭제합니다.

 df %>%
  n / A. omit ()

2. 특정 열에서 NA가 있는 행을 삭제합니다.

 df %>%
filter( ! is. na (column_name))

3. 중복 제거

 df %>%
  distinct()

4. 인덱스 위치별로 행 삭제

 df %>%
filter( ! row_number() %in% c(1, 2, 4))

5. 조건에 따라 행 삭제

 df %>%
  filter(column1 == ' A ' | column2 > 8)

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

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(4, NA, 7, 5, 9, 9),
                 assists=c(1, 3, 5, NA, 2, 2))

#view data frame
df

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
6 C 9 2

예시 1: NA가 있는 행 삭제

다음 코드는 데이터 프레임에서 NA 값을 포함하는 행을 제거하는 방법을 보여줍니다.

 #remove any row with NA
df %>%
  n / A. omit ()

  team points assists
1 to 4 1
3 B 7 5
5 C 9 2
6 C 9 2

예 2: 특정 열에서 NA가 있는 행 삭제

다음 코드는 특정 열에서 NA 값이 포함된 행을 삭제하는 방법을 보여줍니다.

 #remove any row with NA in 'points' column:
df %>%
  filter( ! is. na (dots))

  team points assists
1 to 4 1
2 B 7 5
3 B 5 NA
4 C 9 2
5 C 9 2

예시 3: 중복 행 제거

다음 코드는 중복 행을 제거하는 방법을 보여줍니다.

 #remove duplicate rows
df %>%
  distinct()

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2

예시 4: 인덱스 위치별로 행 삭제

다음 코드는 인덱스 위치에 따라 행을 삭제하는 방법을 보여줍니다.

 #remove rows 1, 2, and 4
df %>%
filter( ! row_number() %in% c(1, 2, 4))

  team points assists
1 B 7 5
2 C 9 2
3 C 9 2

예시 5: 조건에 따라 행 삭제

다음 코드는 특정 조건에 따라 행을 삭제하는 방법을 보여줍니다.

 #only keep rows where team is equal to 'A' or points is greater than 8
df %>%
  filter(column1 == ' A ' | column2 > 8)

  team points assists
1 to 4 1
2 A NA 3
3 C 9 2
4 C 9 2

추가 리소스

다음 튜토리얼에서는 dplyr에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.

dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 그룹별로 변수를 정렬하는 방법
dplyr에서 NA를 0으로 바꾸는 방법

의견을 추가하다

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