Dplyr: mutate()를 사용하여 요인 수준을 변경하는 방법


mutate() 함수를 사용하여 요인 변수의 수준을 변경하려면 dplyr 에서 다음 기본 구문을 사용할 수 있습니다.

 library (dplyr)

df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

이 특정 구문은 데이터 프레임의 변수를 다음과 같이 변경합니다.

  • ‘H’는 ‘호크스’가 된다
  • ‘M’은 ‘Mavs’가 됩니다.
  • ‘C’는 ‘Cavs’가 됩니다.

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

예: mutate()를 사용하여 요인 수준 변경

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

 #create data frame
df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')),
                 dots=c(22, 35, 19, 15, 29, 23))

#view data frame
df

  team points
1:22 a.m.
2:35 a.m.
3 M 19
4 M 15
5 C 29
6 C 23

dplyr 패키지의 mutate() 함수와 함께 다음 구문을 사용하여 변수의 수준을 변경할 수 있습니다.

 library (dplyr)

#change factor levels of team variable
df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 Mavs 19
4 Mavs 15
5 Cavs 29
6 Cavs 23

이 구문을 사용하여 데이터 프레임의 변수를 다음과 같이 변경할 수 있었습니다 .

  • ‘H’는 ‘호크스’가 된다
  • ‘M’은 ‘Mavs’가 됩니다.
  • ‘C’는 ‘Cavs’가 됩니다.

level () 함수를 사용하여 요인 수준이 변경되었는지 확인할 수 있습니다.

 #display factor levels of team variable
levels(df$team)

[1] “Cavs” “Hawks” “Mavs” 

또한 모든 요인 수준 대신 하나의 요인 수준만 변경하도록 선택할 수도 있습니다.

예를 들어, 다음 구문을 사용하여 “H”만 “Hawks”로 바꾸고 다른 요인 수준은 변경하지 않고 그대로 둘 수 있습니다.

 library (dplyr)

#change one factor level of team variable
df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 M 19
4 M 15
5 C 29
6 C 23

“H”는 “Hawks”로 대체되었지만 다른 두 요인 수준은 변경되지 않았습니다.

추가 리소스

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

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

의견을 추가하다

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