R에서 %in% 연산자를 사용하는 방법(예제 포함)


R의 %in% 연산자를 사용하면 요소가 벡터 또는 데이터 프레임에 속하는지 여부를 확인할 수 있습니다.

이 자습서에서는 다양한 시나리오에서 이 기능을 사용하는 세 가지 예를 제공합니다.

예 1: 벡터에 %in% 사용

%in% 연산자를 사용하여 벡터의 요소 중 다른 벡터에 속하는 요소 수를 확인할 수 있습니다.

 #define two vectors of data
data1 <- c(3, 5, 7, 7, 14, 19, 22, 25)

data2 <- c(1, 2, 3, 4, 5)

#produce new vector that contains elements of data1 that are in data2
data1[data1 %in% data2]

[1] 3 5

35가 data1 이라는 벡터에 있는 data2 라는 벡터의 유일한 요소임을 알 수 있습니다.

예 2: %in%를 사용하여 데이터 프레임 필터링

또한 %in% 연산자를 사용하여 특정 값이 포함된 데이터 프레임의 행을 필터링할 수 있습니다.

 #define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#produce new data frame that only contains rows where team is 'B'
df_new <- df[df$team %in% c(' B '), ]
df_new

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25

#produce new data frame that only contains rows where team is 'B' or 'C'
df_new2 <- df[df$team %in% c(' B ', ' C '), ]
df_new2

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

예시 3: %in%를 사용하여 데이터 프레임 열 생성

또한 %in% 연산자를 사용하여 새 데이터 프레임 열을 생성할 수도 있습니다.

예를 들어, 다음 코드는 팀 “A”와 “C”를 “East”로, 팀 “B”를 “West”로 배치하는 Division 이라는 새 열을 만드는 방법을 보여줍니다.

 library (dplyr)

#define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#create new column called division
df$division = if_else (df$team %in% c(' A ', ' C '), ' East ', ' West ')
df

  team points assists division
1 A 67 14 East
2 A 72 16 East
3 B 77 12 West
4 B 89 22 West
5 B 84 25 West
6 C 97 20 East

추가 리소스

R에서 두 개의 열을 하나로 결합하는 방법
R의 데이터 프레임에 행을 추가하는 방법
R에서 두 열을 비교하는 방법

의견을 추가하다

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