웹사이트 검색

R에서 strsplit() 함수를 사용하는 방법은 무엇입니까?


프로그래머로서 수많은 문자열을 작업해야 할 수도 있습니다. 매우 자주 연결 및 분할을 수행합니다. R에는 strsplit() 함수가 있습니다. 이전 기사에서 strsplit()을 사용하여 문자열 벡터에 대해 논의했습니다.

strsplit()은 입력 문자열 벡터를 하위 문자열로 분할하는 예외적인 R 함수입니다. 이 함수가 어떻게 작동하는지 그리고 strsplit()을 사용하여 R에서 문자열 분할을 수행하는 모든 방법이 무엇인지 봅시다.

Strsplit() 함수 구문

Strsplit(): 분할 인수를 사용하여 문자열을 하위 문자열로 분할하는 데 사용되는 R 언어 함수입니다.

strsplit(x,split,fixed=T)

어디:

  • X=입력 데이터 파일, 벡터 또는 스팅.
  • 분할 = 문자열을 필요한 형식으로 분할합니다.
  • 고정 = 분할과 일치하거나 정규식을 사용합니다.

R에서 strsplit() 함수 사용 - 구현

이 섹션에서는 strsplit() 함수의 사용 사례를 보여주는 간단한 예를 살펴보겠습니다. 이 경우 strsplit() 함수는 주어진 입력을 문자열 또는 값 목록으로 분할합니다.

어떻게 작동하는지 봅시다.

df<-("R is the statistical analysis language")
strsplit(df, split = " ")

출력 =

"R" "is" "the" "statistical" "analysis" "language"

해냈습니다! 이러한 방식으로 데이터에 있는 문자열을 쉽게 분할할 수 있습니다. strsplit() 함수의 가장 좋은 사용 사례 중 하나는 단어 구름을 플로팅하는 것입니다. 가장 인기 있거나 반복되는 단어를 표시하려면 수많은 단어 문자열이 필요합니다. 따라서 데이터에서 문자열을 가져오기 위해 문자열 목록을 반환하는 이 함수를 사용합니다.

1. 구분 기호와 함께 strsplit() 함수 사용

일반적으로 구분 기호는 데이터의 단어나 텍스트를 구분하는 간단한 기호, 문자 또는 값입니다. 이 섹션에서는 다양한 기호를 구분 기호로 사용하는 방법을 살펴보겠습니다.

df<-"get%better%every%day"
strsplit(df,split = '%')

출력 =

"get" "better" "every"  "day"   

이 경우 입력 텍스트에는 구분 기호로 %가 있습니다. 이제 우리의 관심사는 구분 기호를 제거하고 텍스트를 문자열 목록으로 가져오는 것입니다. strsplit() 함수는 여기에서 동일한 작업을 수행했습니다. 구분 기호를 제거하고 문자열을 목록으로 반환했습니다.

2. 정규식 구분 기호가 있는 strsplit() 함수

이 섹션에서는 정규식을 사용하여 텍스트를 분할하는 방법을 살펴보겠습니다. 재미있을 것 같나요? 해보자.

df<-"all16i5need6is4a9long8vacation"
strsplit(df,split = "[0-9]+")

출력 =

"all" "i" "need" "is" "a" "long" "vacation"

이 예에서 입력에는 0-9 사이의 숫자가 있습니다. 따라서 정규식을 [0-9]+로 사용하여 숫자를 제거하여 데이터를 분할했습니다. strsplit() 함수는 위에 표시된 대로 문자열 목록을 출력으로 반환합니다.

3. 입력 문자열의 각 문자 분할

지금까지 주어진 문자열을 분할하는 다양한 유형을 살펴보았습니다. 이제 문자열의 모든 문자를 분할하려면 어떻게 해야 합니까? 글쎄, 우리는 각 문자를 추출하기 위해 다른 분할 인수와 함께 strsplit() 함수를 사용합니다.

어떻게 작동하는지 봅시다.

df<-"You can type q() in Rstudio to quit R"
strsplit(df,split="")

출력 =

"Y" "o" "u" " " "c" "a" "n" " " "t" "y" "p" "e" " " "q" "(" ")" " " "i"
"n" " " "R" "s" "t" "u" "d" "i" "o" " " "t" "o" " " "q" "u" "i" "t" " "
"R"

4. R에서 strsplit() 함수를 사용하여 날짜 분할

strsplit() 함수의 또 다른 최상의 응용 프로그램은 날짜를 분할하는 것입니다. 이 사용 사례는 매우 훌륭하고 해볼 가치가 있습니다. 이 섹션에서는 이것이 어떻게 작동하는지 살펴보겠습니다.

test_dates<-c("24-07-2020","25-07-2020","26-07-2020","27-07-2020","28-07-2020")
test_mat<-strsplit(test_dates,split = "-")
test_mat

출력 =

 "24"   "07"   "2020"

"25"   "07"   "2020"

"26"   "07"   "2020"

"27"   "07"   "2020"

"28"   "07"   "2020"

보기 좋은 출력물이 보이시죠? 이 기능을 사용하면 입력 문자열이나 데이터에서도 수많은 분할을 만들 수 있습니다. 날짜를 행렬 형식으로 변환할 수도 있습니다.

matrix(unlist(test_mat),ncol=3,byrow=T)

출력 =

     [,1]  [,2]  [,3]  
[1,] "24" "07" "2020"
[2,] "25" "07" "2020"
[3,] "26" "07" "2020"
[4,] "27" "07" "2020"
[5,] "28" "07" "2020"

분할 데이터에서 행렬을 만든 위의 결과를 볼 수 있습니다. 데이터를 정리하는 것은 향후 프로세스에 매우 중요합니다. 단순히 텍스트를 분할하는 것은 위의 샘플과 같이 신뢰할 수 있는 형식으로 변환되거나 구성되지 않는 한 의미가 없습니다.

결론

글쎄, 우리는 기사의 끝 부분에 있으며 이제 R에서 strsplit() 함수의 작동 및 사용 사례에 대해 더 잘 이해하기를 바랍니다. 이 함수는 문자열 분할 측면에서 널리 사용되며 가장 많이 사용됩니다. 지금은 여기까지입니다. 다음 날 또 다른 기능으로 돌아오겠습니다.

추가 학습: R 설명서