Tạo một data.frame có list-column
Hãy kết thúc chương này bằng cách triển khai bộ trích xuất liên kết, nhưng sử dụng list-column. Khi dùng một dataframe lồng nhau (tức là dataframe có một cột kiểu list), ý tưởng là giữ mọi thứ bên trong cùng một dataframe để quy trình làm việc vẫn gọn gàng, đúng "tidy".
Bạn đã được cung cấp một tibble tên df, có cột urls với bốn URL bạn đã dùng từ đầu chương. Nếu muốn xem nhanh dataframe này, bạn cứ in nó ra console.
Chúng ta sẽ tạo một cột mới tên links, chứa kết quả từ hàm get_links() (đã có sẵn trong không gian làm việc của bạn). Vì đầu ra của hàm này có độ dài khác nhau, kết quả sẽ là một cột kiểu list mà sau đó bạn cần unnest() để quay về một dataframe chuẩn.
Bài tập này là một phần của khóa học
Lập trình hàm nâng cao với purrr
Hướng dẫn bài tập
Tải ba gói cần thiết:
dplyr,tidyr, vàpurrrLấy đối tượng
df, rồi chạymutate()trên đó.mutate()sẽ ánh xạ hàmget_links()lên cộturls.In kết quả.
Unnest kết quả.
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 dplyr, tidyr, and purrr
# Create a "links" columns, by mapping get_links() on urls
df2 <- df %>%
mutate(___ = map(___, get_links))
# Print df2 to see what it looks like
# unnest() df2 to have a tidy dataframe
df2 %>%
___(cols=c(links))