Programming/R

R Programming Web Crawling 단어 빈도 분석

Isaac S. Lee 2023. 6. 7. 16:49

1. 기본 package 설정

# install.packages("tidyverse")
# install.packages("tidytext")

library(KoNLP)
useNIADic() # 단어사전
library(tidyverse)
library(tidytext)

 

2. 단어 빈도 및 퍼센테이지(%) 계산

word_count <- word_t_tb %>%
  count(word, sort = TRUE) %>%
  mutate(prop = n / sum(n)) %>%
  ungroup()
word_count

 

3. 단어 확인

3-1. 전체 데이터 확인

word_count %>%
  slice_max(n, n = 100) %>%
  print(n = 100)

 

3-2. 전체 데이터에서 상위 100개만 확인

word_count %>%
  slice_max(n, n = 60) %>%
  print(n = 60)

✔️ 전체 데이터에서 상위 60개만 확인
✔️ 데이터 양을 보고 slice_max를 이용해서 보면 된다.
✔️ filter기능을 이용하면 데이터가 몇 개 이상 모여있는지 확인할 수 있다.
✔️ 변경: 다양한
✔️ 삭제: 에서, 때문, 아니다

4. 단어빈도 그래프

word_count %>%
  mutate(word = reorder(word, n)) %>%
  slice_max(n, n = 30) %>%
  ggplot(mapping = aes(x = n, #n을 쓸지 prop을 쓸지 설정
                       y = word)) +
  geom_col()

✔️ reorder의 사용 유무에 따라 나중에 보여지는 데이터 결과가 달라지는 경우가 있다.
✔️ 데이터가 많아도 100개 이내로 확인한다. 1000개 이상으로 논문을 작성한 경우도 있는데, 이는 좋지 않은 사용 사례이다.