R에서 sub() 및 gsub() 사용하는 방법

소개

R의 sub()gsub() 함수는 문자열 또는 벡터 또는 데이터 프레임 내의 문자를 특정 문자열로 대체합니다. 이러한 함수들은 대규모 데이터 세트에 변경을 수행할 때 유용합니다.

이 문서에서는 R에서 sub()gsub() 함수를 사용하는 방법을 살펴보겠습니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • R installed locally or on a server.

sub()gsub()의 구문

sub()의 기본 구문은 다음과 같습니다:

sub(pattern, replacement, x)

gsub()의 기본 구문은 다음과 같습니다:

gsub(pattern, replacement, x)

sub()gsub()의 구문에는 패턴, 대체 및 벡터 또는 데이터 프레임이 필요합니다:

  • 패턴: 대체되기를 원하는 패턴 또는 문자열입니다.
  • 대체: 패턴 문자열을 대체할 입력 문자열입니다.
  • x: A vector or a data frame to substitute the strings.

패턴은 정규 표현식(regex)의 형식으로도 가능합니다.

이제 구문에 익숙해졌으므로 구현으로 넘어갈 수 있습니다.

R에서의 sub() 함수

R에서의 sub() 함수는 입력 또는 지정된 문자열로 벡터데이터 프레임 내의 문자열을 대체합니다.

그러나 sub() 함수의 한계는 첫 번째 발생만 대체한다는 것입니다.

sub() 함수 사용하기

이 예제에서는 sub() 함수를 사용하여 문자열 패턴을 대체 문자열로 바꾸는 방법을 배웁니다.

# 입력 벡터
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# 대체 문자열
sub('R','The R language',df)

이 명령을 실행하면 다음 출력이 생성됩니다:

Output
"The R language is an open-source programming language widely used for data analysis and statistical computing."

sub() 함수는 벡터 내의 문자열 'R'을 문자열 'The R language'로 대체합니다.

이 예에서는 패턴 일치가 한 번 있었습니다. 패턴 일치가 여러 번 있는 경우에는 어떻게 되는지 살펴보세요.

# 입력 벡터
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

# 대체 문자열
sub('R','The R language',df)

다음 명령을 실행하면 다음 출력이 생성됩니다:

"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

이 예에서 sub() 함수가 문자열 'R'의 첫 번째 발생을 'The R language'으로 대체하는 것을 관찰할 수 있습니다. 그러나 문자열의 다음 발생은 그대로 유지됩니다.

2. 데이터 프레임과 함께 sub() 함수 사용

sub() 함수는 데이터 프레임과도 작동합니다.

# 데이터 프레임 생성
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# 데이터 프레임
df

이렇게 하면 다음 데이터 프레임이 생성됩니다:

      Creature Population
1     Starfish          5
2    Blue Crab          6
3 Bluefin Tuna          4
4   Blue Shark          2
5   Blue Whale          2

그런 다음 문자 'Blue'를 문자 'Green'으로 대체합니다:

# 값 대체
sub('Blue','Green',df)

다음 명령을 실행하면 다음 출력이 생성됩니다:

Output
"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")" "c(5, 6, 4, 2, 2)"

'Blue'의 모든 발생을 'Green'으로 대체하려면 특정 열을 지정할 수도 있습니다:

# 값 대체
sub('Blue','Green',df$Creature)

다음 명령을 실행하면 다음 출력이 생성됩니다:

Output
"Starfish" "Green Crab" "Greenfin Tuna" "Green Shark" "Green Whale"

'Blue'의 모든 인스턴스가 'Green'으로 대체되었습니다.

R에서의 gsub() 함수

R에서의 gsub() 함수는 대체 작업에 사용됩니다. 이 함수는 입력값을 가져와 지정된 값에 대체합니다.

1. gsub() 함수 사용하기

이 예제에서는 gsub() 함수를 사용하여 문자열 패턴을 대체 문자열로 대체하는 방법을 배웁니다.

# 입력 벡터
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

여러 번 ‘R’이라는 문자열이 포함된 데이터입니다.

# gsub()를 사용하여 값 대체
gsub('R','The R language',df)
Output
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."

‘Comprehensive R Archive Network’ 및 ‘CRAN’을 포함한 ‘R’의 모든 인스턴스가 대체되었습니다. gsub() 함수는 매개변수와 일치하는 모든 단어를 찾아 해당 단어를 입력 단어나 값으로 대체합니다.

2. 데이터 프레임과 함께 gsub() 함수 사용하기

gsub() 함수는 데이터 프레임과 함께도 작동합니다.

# 데이터 프레임 생성
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

Creature 열의 값을 'Deep Sea '로 접두어를 붙여 봅시다:

# 값 대체
gsub('.*^','Deep Sea ',df$Creature)

이 명령을 실행하면 다음과 같은 출력이 생성됩니다:

Output
"Deep Sea Starfish" "Deep Sea Blue Crab" "Deep Sea Bluefin Tuna" "Deep Sea Blue Shark" "Deep Sea Blue Whale"

이 예제에서 gsub() 함수는 정규 표현식 (regex): .*^을 사용합니다. 이것은 문자열의 시작 위치에 대한 패턴입니다.

결론

이 글에서 R에서 sub()gsub() 함수를 사용하는 방법을 살펴보았습니다. 이러한 함수는 문자열이나 벡터 또는 데이터 프레임의 문자를 특정 문자열로 대체합니다. sub() 함수는 첫 번째 일치에 적용됩니다. gsub() 함수는 모든 일치에 적용됩니다.

계속해서 R에서 replace() 사용 방법을 배우세요.

Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r