티스토리 뷰
주어진 문장에서 띄워쓰기에 의해 구분되는 단어의 개수를 알아보고자 한다.
stringr 패키지 사용
library(stringr)
단어의 수를 세기 위해 가장 간단하게 정규표현식을 사용하여 구할 수 있다.
sentence <- "This is an example sentence."
num_words <- str_count(sentence, "\\S+") # 공백이 아닌 부분(단어) 개수 세기
print(num_words)
정규표현식 \\S+의 의미
- \\S+는 정규표현식(regular expression)에서 사용되는 패턴이다.
- 의미:
- \\S : 공백이 아닌 문자(Non-whitespace character)를 의미
- + : 바로 앞의 패턴이 1회 이상 반복됨을 의미
- 즉, \\S+는 "공백이 아닌 문자가 1개 이상 연속된 부분", 즉 '단어'를 의미
정규표현식을 사용하지 않고 단어 수를 찾기
sentence <- "This is an example sentence."
# 공백(" ")을 기준으로 문자열 분리
words <- strsplit(sentence, " ")[[1]]
# 단어 개수 세기
num_words <- length(words)
print(num_words)
- strsplit(문장, " ")[[1]]
[참고]
- [1] 은 리스트의 첫 번째 요소를 '리스트'로 꺼내는 것
- [[1]] 은 리스트의 첫 번째 요소의 '내용물'을 꺼내는 것(즉, 벡터로 반환)
이제, 하나의 문장만 있는 것이 아니라 여러 id 에 대해 문장이 주어져 있을때를 가정해 보자.
type | sentence | length |
a | asdfas asdfasd asdf asdf | |
b | fgrgthrt aedrfgerg | |
... | ... |
반응형
- 각각의 문장에 대한 length 를 구하려고 한다.
방법 - 1
net_kor$word_count02 <- sapply(net_kor$title, function(x){
words <- strsplit(x, " ")[[1]]
words <- words[words != ""]
length(words)
})
방법 - 2 ( library(stringr) 라이브러리 함수 사용 ) - 빅데이터 분석기사 실기 시험환경 사용 가능
net_kor$word_count <- str_count(net_kor$title, "\\S+")
net_kor
방법 - 1 과 방법 - 2의 결과가 동일하게 도출되었다.
이제 각 type 에 따라 단어수의 평균의 차이를 구해 보자.
[참고] 특정단어 찾기
library(stringr)
# 문장을 단어 단위로 분할하여 빈도표 생성
text <- "이것은 예시 문장에서 예시 단어 찾기. 어디에 예시 단어를 찾아보겠습니다"
word_count <- str_count(text, "예시")
print(word_count) # 결과: 3
str_count( data, "목표 단어") 를 활용하자.
반응형
'4. 파이썬, R 등등(통계분석 관련)' 카테고리의 다른 글
제1유형 - 시계열 데이터 처리 (0) | 2025.06.25 |
---|---|
제1유형 - 반별, 과목별 합계, 평균, 표준화 등 정렬하기 (0) | 2025.06.24 |
빅데이터분석기사 실기(R) - 제2유형 (0) | 2025.06.19 |
Merge (R v.s Tableau) (0) | 2022.08.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 실기 r
- 깃허브
- Working copy
- 빅분기
- R
- OBSIDIAN
- tableau
- 깃헙
- 리모틀리세이브
- infinicloud
- 실기r
- 제1유형
- 클라우드
- 동기화
- 깃
- git
- Raidrive
- 파이차트
- IOS
- 옵시디안
- 실기
- WebDAV
- SourceTree
- 옵시디언
- Github
- 빅데이터분석기사
- 태블로
- markgit
- 입시결과
- Nplayer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함