Dplyr: "존재하지 않음" 메시지 필터를 사용하는 방법


dplyr 에서 다음 기본 구문을 사용하여 값 목록에 없는 데이터 프레임의 행을 필터링할 수 있습니다.

 df %>%
  filter (!col_name %in% c(' value1 ', ' value2 ', ' value3 ', ...))

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예 1: 열에 값이 포함되지 않은 행 필터링

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

다음 구문은 팀 이름이 “A” 또는 “B”와 같지 않은 행을 필터링하는 방법을 보여줍니다.

 #filter for rows where team name is not 'A' or 'B'
df %>%
filter (!team %in% c(' A ', ' B '))

team position points
1 CF 36
2 CC 41
3 DC 18
4 DC 29

예시 2: 여러 열에 값이 포함되지 않은 행 필터링

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

다음 구문은 팀 이름이 “A” 같지 않고 위치가 “C”와 같지 않은 행을 필터링하는 방법을 보여줍니다.

 #filter for rows where team name is not 'A' and position is not 'C'
df %>%
filter (!team %in% c(' A ') & !position %in% c(' C '))

team position points
1 BF 19
2 BG 24
3 CF 36

추가 리소스

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

dplyr을 사용하여 행을 삭제하는 방법
dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법

의견을 추가하다

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