A: %in%을 사용하여 목록의 값으로 행을 필터링하는 방법


R의 %in% 연산자와 함께 다음 기본 구문을 사용하여 목록의 값이 포함된 행을 필터링할 수 있습니다.

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

이 특정 구문은 열의 값이 우리가 지정한 team_names 벡터의 세 가지 값 중 하나와 동일한 행만 유지하도록 데이터 프레임을 필터링합니다.

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

예: %in%를 사용하여 목록의 값이 있는 행 필터링

다양한 농구팀에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

열의 값이 다음 팀 이름 중 하나와 동일한 행만 포함하도록 데이터 프레임을 필터링한다고 가정해 보겠습니다.

  • Mavs
  • 페이서스
  • 네트

이를 수행하려면 %in% 연산자와 함께 다음 구문을 사용할 수 있습니다.

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

열에 Mavs, Pacers 또는 Nets 값이 있는 행만 유지됩니다.

팀 이름 목록에 팀 이름이 없는 행을 필터링하려면 열 이름 앞에 느낌표( ! )를 추가하면 됩니다.

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

값이 열의 Mavs, Pacers 또는 Nets 와 같지 않은 행만 유지됩니다.

참고 : 여기 에서 dplyr의 필터 기능에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

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

dplyr을 사용하여 그룹별로 첫 번째 행을 선택하는 방법
dplyr을 사용하여 여러 조건으로 필터링하는 방법
dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법

의견을 추가하다

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