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


소개

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

이 기사에서는 R에서 sub()gsub() 함수를 사용하는 방법을 살펴봅니다.

전제 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • R은 로컬 또는 서버에 설치됩니다.

sub() 및 gsub()의 구문

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

sub(pattern, replacement, x)

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

gsub(pattern, replacement, x)

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

  • pattern: 대체할 패턴 또는 문자열입니다.
  • replacement: 패턴 문자열을 대체할 입력 문자열.
  • x: 문자열을 대체할 벡터 또는 데이터 프레임.

패턴은 정규식(regex) 형식일 수도 있습니다.

이제 구문에 익숙해졌으므로 구현으로 이동할 수 있습니다.

R의 sub() 함수

R의 sub() 함수는 벡터 또는 데이터 프레임의 문자열을 입력 또는 지정된 문자열로 바꿉니다.

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

1. sub() 함수 사용

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

# the input vector 
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# the replacement
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로 바꿉니다.

이 예에서는 패턴 일치가 한 번 발생했습니다. 패턴 일치가 여러 번 발생하는 경우 어떤 일이 발생하는지 고려하십시오.

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

# the replacement
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 언어로 바꾼 것을 볼 수 있습니다. 그러나 문자열의 다음 항목은 동일하게 유지됩니다.

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

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

# creating a data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# data frame
df

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

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

그런 다음 Blue 문자를 Green 문자로 바꿉니다.

# substituting the values
sub('Blue','Green',df)

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

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

Blue의 모든 항목을 Green으로 대체하도록 특정 열을 지정할 수도 있습니다.

# substituting the values
sub('Blue','Green',df$Creature)

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

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

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

R의 gsub() 함수

R의 gsub() 함수는 교체 작업에 사용됩니다. 이 함수는 입력을 받아 지정된 값으로 대체합니다.

sub() 함수와 달리 gsub()는 모든 일치 항목에 전역 대체를 적용합니다.

1. gsub() 함수 사용

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

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

R이 여러 번 쓰여진 데이터입니다.

# substituting the values using 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)."

'R'의 모든 인스턴스가 교체되었습니다(\Comprehensive R Archive Network\\CRAN\의 인스턴스 포함). gsub() 함수는 매개변수와 일치하는 모든 단어를 찾아 입력 단어 또는 값으로 바꿉니다.

2. 데이터 프레임에 gsub() 함수 사용

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

# creating a data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

Creature 열의 값에 Deep Sea를 붙입니다.

# substituting the values
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()를 사용하는 방법으로 학습을 계속하세요.