시작하기무료로 시작하기

박스 플롯

여러 분포를 한눈에 비교하는 가장 간편한 방법 중 하나가 박스 플롯입니다. 이 코드를 활용하면 여러 박스 플롯을 만들어 간결한 시각 자료를 완성할 수 있습니다.

이 연습 문제에서는 all_book_polarity 객체가 이미 로드되어 있습니다. 이 데이터 프레임은 bookpolarity 두 열로 구성되며, qdappolarity() 함수를 적용한 모든 도서 데이터를 포함합니다. 아래는 이 대형 객체의 첫 3개 행입니다.

book polarity
14 huck 0.2773501
22 huck 0.2581989
26 huck -0.5773503

이 연습 문제에서는 비정형 배열(ragged array)에 함수를 적용할 수 있는 tapply()를 소개합니다. 값 벡터와 요인(factor) 벡터를 입력하면, 각 요인과 값의 조합에 대해 세 번째 매개변수로 지정한 함수(예: min())가 적용됩니다. 아래는 두 벡터에 tapply()를 사용한 예시 코드입니다.

f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)

결과는 배열로 반환되며, Group1의 값은 2(1+1), Group2의 값은 4(2+2)입니다.

이 연습은 강의의 일부입니다

R을 활용한 감성 분석

강의 보기

연습 안내

  • 이미 로드된 all_book_polaritystr()로 살펴보세요.
  • tapply()all_book_polarity$polarity, all_book_polarity$book, summary() 함수를 차례로 전달하세요. 이렇게 하면 4개 도서의 polarity() 점수에 대한 요약 통계가 출력됩니다. Oz와 Huck Finn의 평균이 Agamemnon이나 Moby Dick보다 높게 나올 것으로 예상됩니다. 중앙값(median)을 유심히 살펴보세요.
  • ggplot()all_book_polarity를 전달하여 박스 플롯을 만드세요.
    • 심미 요소(aesthetics)는 aes(x = book, y = polarity)로 설정하세요.
    • +를 사용하여 col = "darkred"를 지정한 geom_boxplot()을 추가하세요. 각 박스 안의 중앙값을 나타내는 굵은 선을 주의 깊게 살펴보세요.
    • 다음으로 geom_jitter() 레이어를 추가하여 각 단어에 해당하는 점을 표시하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Examine
___

# Summary by document
___

# Box plot
ggplot(___, aes(x = ___, y = ___)) +
  ___(fill = c("#bada55", "#F00B42", "#F001ED", "#BA6E15"), col = "___") +
  ___(position = position_jitter(width = 0.1, height = 0), alpha = 0.02) +
  theme_gdocs() +
  ggtitle("Book Polarity")
코드 편집 및 실행