1. 학습
  2. /
  3. 강의
  4. /
  5. R을 활용한 감성 분석

Connected

연습 문제

커널 밀도 플롯

커널 밀도 플롯에 대해 배웠으니 이제 직접 만들어 볼 차례입니다! 커널 밀도 플롯은 히스토그램을 부드럽게 표현한 것으로, 구간 너비(binwidth)의 영향을 받지 않습니다. 이 연습 문제에서는 감성 점수를 바탕으로 커널 밀도 플롯을 구성해 봅니다.

두 개의 커널 밀도 곡선을 그릴 것입니다. 하나는 《아가멤논》, 다른 하나는 《오즈의 마법사》에 대한 것입니다. 두 작품 모두 "afinn" 레시콘과 inner_join()을 수행합니다. "afinn" 레시콘은 단어에 -5에서 5 사이의 점수를 부여한다는 점을 기억하세요. 타이디 형식으로 변환하면 두 책 모두 레시콘에 해당하는 단어와 점수를 유지하게 됩니다.

그런 다음, bind_rows()를 사용해 결과를 하나의 큰 데이터 프레임으로 합치고, ggplot2로 플롯을 만듭니다.

시각화 결과를 통해 어느 책이 더 긍정적인 언어를 사용하는지, 또는 부정적인 언어를 더 많이 사용하는지 파악할 수 있습니다. 도로시에게도 부정적인 일이 일어나므로 두 분포 간에 겹치는 부분이 있지만, 커널 밀도 플롯을 보면 《오즈의 마법사》가 《아가멤논》보다 긍정적인 언어를 사용할 확률이 더 높다는 점을 추론할 수 있습니다.

ag와 oz는 각각 《아가멤논》과 《오즈의 마법사》의 타이디 버전으로 미리 불러와져 있으며, afinn은 tidytext "afinn" 레시콘의 서브셋으로 생성되어 있습니다.

지침 1/2

undefined XP
    1
    2
  • ag를 레시콘 afinn과 내부 조인하여 ag_afinn에 할당하세요.
  • 《오즈의 마법사》에도 동일하게 적용하세요. 코드는 같지만 oz 데이터셋으로 시작하여 oz_afinn에 할당합니다.
  • bind_rows()를 사용해 ag_afinn과 oz_afinn을 합치세요. .id 인수를 "book"으로 설정하면 각 책의 이름이 담긴 새로운 열이 생성됩니다.