Dplyr을 사용하여 열의 문자열을 바꾸는 방법


dplyr 패키지의 함수를 사용하여 데이터 프레임의 특정 열에 있는 문자열을 바꾸려면 다음 방법을 사용할 수 있습니다.

방법 1: 문자열을 새 문자열로 바꾸기

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value ', ' new_value '))

방법 2: 여러 문자열을 새 문자열로 바꾸기

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value1|old_value2 ', ' new_value '))

다음 예에서는 R의 다음 데이터 프레임과 함께 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West'),
                 position=c('P_Guard', 'P_Guard', 'S_Guard', 'S_Guard'),
                 dots=c(22, 25, 29, 13))

#view data frame
df

  conf position points
1 East P_Guard 22
2 East P_Guard 25
3 West S_Guard 29
4 West S_Guard 13

예시 1: 문자열을 새 문자열로 바꾸기

다음 코드는 conf 열의 “East” 문자열을 “Eastern” 문자열로 바꾸는 방법을 보여줍니다.

 library (dplyr)
library (stringr)

#replace 'East' with 'Eastern' in conf column
df %>% 
  mutate(across(' conf ', str_replace, ' East ', ' Eastern '))

     conf position points
1 Eastern P_Guard 22
2 Eastern P_Guard 25
3 West S_Guard 29
4 West S_Guard 13

conf 열의 각 “East” 문자열은 “Eastern”으로 대체되었지만 다른 모든 열은 변경되지 않았습니다.

예시 2: 여러 문자열을 새 문자열로 바꾸기

다음 코드는 conf 열의 문자열 ‘P_’ 및 ‘S_’를 빈 문자열로 바꾸는 방법을 보여줍니다.

 library (dplyr)
library (stringr)

#replace 'P_' and 'S_' with empty string in position column
df %>% 
  mutate(across(' position ', str_replace, ' P_|S_ ', ''))

  conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13

각 문자열 ‘P_’ 및 ‘S_’는 위치 열에서 빈 문자열로 바뀌었고 다른 모든 열은 변경되지 않은 채로 남아 있습니다.

“OR” 연산자( | )를 사용하여 “P_” 또는 “S_”와 동일한 모든 문자열을 빈 문자열로 바꾸겠다고 R에 알렸습니다.

한 번에 한 열에서 원하는 만큼 많은 값을 바꾸려면 “OR”( | ) 연산자를 자유롭게 사용하세요.

추가 리소스

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

dplyr을 사용하여 값을 다시 코딩하는 방법
dplyr에서 NA를 0으로 바꾸는 방법
dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법

의견을 추가하다

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