tm으로 빈도 높은 용어 구하기
이제 용어-문서 행렬(term-document matrix)과 그 전치인 문서-용어 행렬(document-term matrix)을 만드는 법을 알게 되었으니, 이를 분석의 기반으로 활용해 보겠습니다. 분석하려면 1장에서 했던 것처럼 as.matrix()를 사용해 단순 행렬로 바꿔야 해요.
새로 만든 행렬에 rowSums()를 호출하면 한 문서에서 사용된 모든 용어의 합이 집계됩니다. rowSums() 결과가 생기면 decreasing = TRUE를 지정해 sort()하여 가장 흔한 용어에 집중할 수 있어요.
마지막으로 다음 코드를 사용해 term_frequency의 상위 5개 용어로 barplot()을 만들 수 있어요.
barplot(term_frequency[1:5], col = "#C0DE25")
물론, 그래프를 더 세밀하게 꾸미려면 저희 ggplot2 과정을 들어 보셔도 좋아요… :)
이 연습은 강의의 일부입니다
R로 배우는 Bag-of-Words 텍스트 마이닝
연습 안내
- 지난 장의 용어-문서 행렬
coffee_tdm을 사용해coffee_m을 행렬로 만드세요. coffee_m에rowSums()함수를 적용해term_frequency를 만드세요.term_frequency를 내림차순으로 정렬하고, 결과를 다시term_frequency에 저장하세요.- 대괄호 한 개만 사용하는 단일 인덱싱(즉,
[하나만 사용)을 이용해term_frequency의 상위 10개 용어를 출력하세요. - 상위 10개 용어로 막대그래프를 만드세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
## coffee_tdm is still loaded in your workspace
# Convert coffee_tdm to a matrix
coffee_m <- ___
# Calculate the row sums of coffee_m
term_frequency <- ___
# Sort term_frequency in decreasing order
term_frequency <- ___
# View the top 10 most common words
___
# Plot a barchart of the 10 most common words
___(___, col = "tan", las = 2)