Bắt đầu ngayBắt đầu miễn phí

Hồi quy tuyến tính trên từng tập dữ liệu đã lồng (nested)

Giờ bạn đã tách dữ liệu cho mỗi quốc gia thành một tập riêng trong cột data, bạn cần khớp (fit) một mô hình tuyến tính cho từng tập dữ liệu này.

Hàm map() từ purrr hoạt động bằng cách áp dụng một công thức lên từng phần tử trong một list, trong đó . đại diện cho phần tử hiện tại. Ví dụ, bạn có thể cộng thêm một cho mỗi số trong một list:

map(numbers, ~ 1 + .)

Điều này có nghĩa là để khớp một mô hình cho mỗi tập dữ liệu, bạn có thể làm:

map(data, ~ lm(percent_yes ~ year, data = .))

trong đó . đại diện cho từng phần tử trong cột data của by_year_country. Hãy nhớ rằng mỗi phần tử trong cột data là một tập dữ liệu ứng với một quốc gia cụ thể.

Bài tập này là một phần của khóa học

Nghiên cứu tình huống: Khám phá dữ liệu với R

Xem khóa học

Hướng dẫn bài tập

  • Nạp các gói tidyrpurrr.
  • Sau khi lồng dữ liệu (nesting), dùng hàm map() bên trong mutate() để thực hiện hồi quy tuyến tính trên từng tập dữ liệu (tức từng phần tử trong cột data của by_year_country), mô hình hóa percent_yes theo year. Lưu kết quả vào cột model.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Load tidyr and purrr



# Perform a linear regression on each item in the data column
by_year_country %>%
  nest(-country)
  
Chỉnh sửa và Chạy Mã