R에서 텍스트 데이터를 분석하는 방법: 문자열 조작의 기초

Reseo Tegseuteu Deiteoleul Bunseoghaneun Bangbeob Munjayeol Jojag Ui Gicho



문자열은 R 프로그래밍에서 두 번째로 많이 사용되는 데이터 유형이며 문자열 조작은 R에서 중요한 작업입니다. R의 문자열 조작 작업은 문자열 변경 및 구문 분석을 포함하여 텍스트 데이터를 사용하고 변경하는 여러 함수로 구성됩니다. 이 글에서는 문자열 조작에 도움이 되는 몇 가지 함수를 살펴보겠습니다. 이러한 함수는 R에 내장되어 있으며 문자열 작업을 수행하기 위해 다양한 목적으로 사용됩니다.

예제 1: R의 Grep() 함수를 사용하여 문자열에서 패턴 위치 가져오기

문자열에서 지정된 패턴의 위치를 ​​추출하기 위해 R의 grep() 함수가 사용됩니다.

grep('i+', c('fix', 'split', 'corn n', 'paint'), perl=TRUE, value=FALSE)

여기서는 '+i' 패턴이 문자열 벡터 내에서 일치할 인수로 지정되는 grep() 함수를 사용합니다. 4개의 문자열을 포함하는 문자형 벡터를 설정합니다. 그 후, R이 perl 호환 정규식 라이브러리를 사용함을 나타내는 TRUE 값으로 “perl” 인수를 설정하고 요소의 인덱스를 검색하는 데 사용되는 “FALSE” 값으로 “value” 매개변수를 지정합니다. 패턴과 일치하는 벡터에서.







각 벡터 문자 문자열의 '+i' 패턴 위치는 다음 출력에 표시됩니다.





예제 2: R에서 Gregexpr() 함수를 사용하여 패턴 일치

다음으로 gregexpr() 함수를 사용하여 R의 특정 문자열 길이와 함께 인덱스 위치를 검색합니다.





char_vec <- c('PROGRAMMINGLANGUAGE','RSCRIPT')
gregexpr('GRAMM', char_vec, useBytes = TRUE)

여기서는 문자열에 다른 문자가 제공되는 'char_vect' 변수를 설정합니다. 그런 다음 'GRAMM' 문자열 패턴을 'char_vec'에 저장된 문자열과 일치시키는 gregexpr() 함수를 정의합니다. 그런 다음 useBytes 매개변수를 'TRUE' 값으로 설정합니다. 이 매개변수는 일치가 문자 단위가 아닌 바이트 단위로 이루어져야 함을 나타냅니다.

gregexpr() 함수에서 검색된 다음 출력은 두 벡터 문자열의 인덱스와 길이를 나타냅니다.



예제 3: R에서 Nchar() 함수를 사용하여 문자열의 총 문자 수 계산

다음에 구현하는 nchar() 메서드를 사용하면 문자열에 몇 개의 문자가 있는지 확인할 수도 있습니다.

Res <- nchar('각 문자 수 계산')
인쇄(해상도)

여기서는 “Res” 변수 내에 설정된 nchar() 메서드를 호출합니다. nchar() 메소드는 nchar() 메소드에 의해 계산되고 지정된 문자열의 카운터 문자 수를 제공하는 긴 문자열과 함께 제공됩니다. 그런 다음 'Res' 변수를 print() 메서드에 전달하여 nchar() 메서드의 결과를 확인합니다.

결과는 지정된 문자열에 20자가 포함되어 있음을 보여주는 다음 출력으로 수신됩니다.

예제 4: R의 Substring() 함수를 사용하여 문자열에서 부분 문자열 추출

'start' 및 'stop' 인수와 함께 substring() 메서드를 사용하여 문자열에서 특정 부분 문자열을 추출합니다.

str <- 하위 문자열('아침', 2, 4)
인쇄(str)

여기에는 substring() 메서드가 호출되는 'str' ​​변수가 있습니다. substring() 메소드는 'MORNING' 문자열을 첫 번째 인수로 취하고 '2' 값을 두 번째 인수로 사용하여 문자열에서 두 번째 문자가 추출됨을 나타내며 '4' 인수 값은 다음을 나타냅니다. 네 번째 문자가 추출됩니다. substring() 메소드는 지정된 위치 사이의 문자열에서 문자를 추출합니다.

다음 출력은 문자열의 두 번째 위치와 네 번째 위치 사이에 있는 추출된 하위 문자열을 표시합니다.

예제 5: R에서 Paste() 함수를 사용하여 문자열 연결

R의 Paste() 함수는 구분 기호를 분리하여 지정된 문자열을 연결하는 문자열 조작에도 사용됩니다.

msg1 <- '내용'
msg2 <- '쓰기'

붙여넣기(msg1, msg2)

여기서는 'msg1' 및 'msg2' 변수에 각각 문자열을 지정합니다. 그런 다음 R의 Paste() 메서드를 사용하여 제공된 문자열을 단일 문자열로 연결합니다. Paste() 메서드는 문자열 변수를 인수로 사용하고 문자열 사이에 기본 공백이 있는 단일 문자열을 반환합니다.

Paste() 메서드를 실행하면 출력은 공백이 포함된 단일 문자열을 나타냅니다.

예제 6: R에서 Substring() 함수를 사용하여 문자열 수정

또한 다음 스크립트를 사용하여 substring() 함수를 사용하여 문자열에 하위 문자열이나 문자를 추가하여 문자열을 업데이트할 수도 있습니다.

str1 <- '영웅'
하위 문자열(str1, 5, 6) <- 'ic'

cat('    수정된 문자열:', str1)

'str1' 변수 내에 'Heroes' 문자열을 설정합니다. 그런 다음 하위 문자열의 “start” 및 “stop” 인덱스 값과 함께 “str1”이 지정된 substring() 메서드를 배포합니다. substring() 메서드에는 주어진 문자열에 대한 함수 내에서 지정된 위치에 배치되는 'iz' 하위 문자열이 할당됩니다. 그런 다음 업데이트된 문자열 값을 나타내는 R의 cat() 함수를 사용합니다.

문자열을 표시하는 출력은 하위 문자열() 메서드를 사용하여 새 출력으로 업데이트됩니다.

예제 7: R에서 Format() 함수를 사용하여 문자열 형식 지정

그러나 R의 문자열 조작 작업에는 이에 따라 문자열 형식을 지정하는 것도 포함됩니다. 이를 위해 문자열을 정렬하고 특정 문자열의 너비를 설정할 수 있는 format() 함수를 사용합니다.

Placement1 <- format('프로그램', width = 10, justify = 'l')
Placement2 <- format('프로그램', width = 10, justify = 'r')
Placement3 <- format('프로그램', width = 10, justify = 'c')

인쇄(배치1)
인쇄(배치2)
인쇄(배치3)

여기서는 format() 메소드와 함께 제공되는 “placement1” 변수를 설정합니다. 형식을 지정할 '프로그램' 문자열을 format() 메서드에 전달합니다. 너비가 설정되고 'justify' 인수를 사용하여 문자열 정렬이 왼쪽으로 설정됩니다. 마찬가지로 'placement2'와 'placement2'라는 두 개의 변수를 더 만들고 format() 메서드를 적용하여 그에 따라 제공된 문자열의 형식을 지정합니다.

출력에는 왼쪽, 오른쪽 및 가운데 정렬을 포함하여 다음 이미지에서 동일한 문자열에 대한 세 가지 형식 지정 스타일이 표시됩니다.

예제 8: R에서 문자열을 소문자 및 대문자로 변환

또한 다음과 같이 tolower() 및 toupper() 함수를 사용하여 문자열을 소문자 및 대문자로 변환할 수도 있습니다.

s1 <- '좋은 음식 좋은 삶'
결과1 <- 아래(s1)

인쇄(결과1)

s2 <- 'r 프로그래밍 언어 '
결과2 <- 토퍼(s2)

인쇄(결과2)

여기서는 대문자와 소문자를 포함하는 문자열을 제공합니다. 그 이후에는 문자열이 “s1” 변수에 보관됩니다. 그런 다음 tolower() 메서드를 호출하고 그 안에 's1' 문자열을 전달하여 문자열 안의 모든 문자를 소문자로 변환합니다. 그런 다음 'result1' 변수에 저장된 tolower() 메서드의 결과를 인쇄합니다. 다음으로 모든 문자가 소문자로 포함된 “s2” 변수에 또 다른 문자열을 설정합니다. toupper() 메서드를 이 's2' 문자열에 적용하여 기존 문자열을 대문자로 변환합니다.

출력에는 다음 이미지에서 지정된 대소문자의 문자열이 모두 표시됩니다.

결론

문자열 조작이라 불리는 문자열을 관리하고 분석하는 다양한 방법을 배웠습니다. 문자열에서 문자의 위치를 ​​추출하고, 서로 다른 문자열을 연결하고, 문자열을 지정된 대소문자로 변환했습니다. 또한 문자열의 형식을 지정하고 문자열을 수정했으며 문자열을 조작하기 위해 여기에서 다양한 기타 작업이 수행됩니다.