Skip to content

Module 3: Reshaping (Tidyr) 🔄

📝 Stats

  • Số lượng: 8 câu hỏi
  • Độ khó: Khó (Tư duy không gian)
  • Mục tiêu: Hiểu khái niệm Tidy Data.

MCQ

Q1. Dữ liệu chuẩn (Tidy Data) là dữ liệu dạng nào?

  • [ ] Wide Format (Nhiều cột năm: 2020, 2021, 2022...)
  • [ ] Long Format (Một cột 'Year' và một cột 'Value')
  • [ ] Matrix Format
  • [ ] Excel Pivot Table Format

Đáp án: Long Format.

Q2. Hàm nào dùng để chuyển từ Wide sang Long (nhiều cột thành ít cột)?

  • [ ] pivot_wider()
  • [ ] pivot_longer()
  • [ ] melt() (cũ)
  • [ ] gather() (cũ)

Đáp án: pivot_longer().

Q3. Khi dùng pivot_longer, tham số names_to dùng để làm gì?

  • [ ] Đặt tên cho cột mới chứa tên các cột cũ (keys).
  • [ ] Đặt tên cho cột giá trị (values).
  • [ ] Chọn các cột cần xoay.
  • [ ] Không có tham số này.

Đáp án: Đặt tên cho cột mới chứa tên các cột cũ.


Coding Challenge

Challenge: Cleaning Survey Data

Bạn có dữ liệu khảo sát dạng Wide: df <- tibble(student = "A", q1 = 5, q2 = 4, q3 = 3)

Nhiệm vụ: Chuyển nó về dạng Long để có thể group_by(question) và tính điểm trung bình. Kết quả mong muốn có 3 dòng, cột question và cột score.

r
df <- tibble(student = "A", q1 = 5, q2 = 4, q3 = 3)

# Code:
df_long <- df |>
  pivot_longer(
    cols = starts_with("q"), # Chọn các cột q1, q2, q3
    names_to = "question",   # Tên cột mới chứa "q1", "q2"...
    values_to = "score"      # Tên cột mới chứa điểm số
  )

print(df_long)
# # A tibble: 3 × 3
#   student question score
#   <chr>   <chr>    <dbl>
# 1 A       q1           5
# 2 A       q2           4
# 3 A       q3           3