1. 학습
  2. /
  3. 강의
  4. /
  5. R로 Shiny 웹 애플리케이션 만들기

Connected

연습 문제

앱 2: 인기 아기 이름

Shiny 앱을 만드는 과정은 모듈식이에요. 먼저 UI를 만들고, 그다음 서버 코드를 작성해 사용자 입력을 바탕으로 결과물을 구성합니다. 이 접근을 의도적으로 연습할수록, 좋은 앱을 더 쉽게 만들 수 있어요.

이제 사용자가 성별과 연도를 선택하면 해당 연도의 상위 10개 인기 이름을, 이름(name)별 출생 비율(prop)을 나타내는 막대 그래프로 보여주는 Shiny 앱을 만들어 보세요. 완성된 앱은 아래 스크린샷과 비슷한 형태가 되어야 합니다.

An app where the name selector and year slider appear in the left sidebar, while the graph appears on the right in the main panel

year와 sex에 대해 상위 10개 이름을 추출하는 함수 get_top_names()를 제공해 드렸습니다. 예를 들어, 2000년의 남성 상위 10개 이름은 get_top_names(2000, "M")으로 가져올 수 있어요.

ggplot2 패키지도 로드되어 있습니다. 열이 x와 y인 데이터 프레임 d로 막대 그래프를 만들려면 다음을 사용하세요:

ggplot(d, aes(x = x, y = y)) +
  geom_col()

지침

100 XP
  • 앱 상단에 제목을 추가하고 사이드바 레이아웃을 추가하세요.
  • 사이드바에 사용자가 성별(M 또는 F)을 선택할 수 있는 입력을 추가하세요.
  • 사이드바에 사용자가 연도(1880~2017)를 선택할 수 있는 슬라이더를 추가하세요.
  • 메인 패널에 그래프 결과물을 추가하세요.
  • 서버에 year와 sex에 기반한 막대 그래프를 렌더링하는 출력을 추가하세요. 렌더링 함수의 중괄호 안에는 여러 줄의 코드를 넣을 수 있다는 점에 유의하세요: render***({___}).