1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Xây dựng ứng dụng web với Shiny trong R

Connected

Bài tập

Khám phá ẩm thực: nguyên liệu nổi bật

Ẩm thực có sức hút phổ quát, và vô vàn món ăn có thể sáng tạo từ muôn vàn nguyên liệu tạo nên sự đa dạng gần như vô hạn! Trong bài tập này, bạn sẽ dùng bộ dữ liệu recipes chứa công thức, loại ẩm thực của món, và các nguyên liệu sử dụng để xây dựng một ứng dụng Shiny cho phép người dùng khám phá những nguyên liệu được dùng nhiều nhất theo từng ẩm thực.

Ứng dụng cuối cùng của bạn sẽ giống như hình trong ảnh chụp màn hình này.

An app displaying an interactive table of top ingredients by chosen cuisine

Chúng tôi đã nạp sẵn các gói shiny và dplyr, cũng như bộ dữ liệu recipes. Ngoài ra, dưới đây là một đoạn mã tiện lợi lấy top 10 nguyên liệu được dùng trong ẩm thực Hy Lạp. Bạn sẽ thấy hữu ích để tạo bảng dữ liệu tương tác trong ứng dụng dựa trên ẩm thực và số lượng nguyên liệu do người dùng chọn.

recipes %>% 
  filter(cuisine == 'greek') %>% 
  count(ingredient, name = 'nb_recipes') %>% 
  arrange(desc(nb_recipes)) %>% 
  head(10)

Hướng dẫn

100 XP
  • UI:
    • Thêm một input trong sidebar tên cuisine để cho phép người dùng chọn một ẩm thực từ toàn bộ danh sách ẩm thực có trong bộ dữ liệu recipes.
    • Thêm một slider input tên nb_ingredients trong sidebar để cho phép người dùng chọn số lượng nguyên liệu cần hiển thị.
    • Thêm một đầu ra bảng dữ liệu tương tác trong main panel tên dt_top_ingredients.
  • Server:
    • Lọc recipes dựa trên ẩm thực đã chọn và số lượng nguyên liệu đứng đầu cần hiển thị.
    • Kết xuất dữ liệu đã lọc dưới dạng một bảng dữ liệu tương tác.
    • Gán nó vào đối tượng output tên dt_top_ingredients.