Mô phỏng dữ liệu với nhiều đầu vào bằng map2()
Hàm map() rất hữu ích khi bạn cần lặp qua một danh sách, tuy nhiên, bạn thường sẽ cần lặp qua hai danh sách cùng lúc. Đây là lúc map2() phát huy tác dụng. Trong khi map() nhận danh sách làm đối số .x; map2() nhận hai danh sách làm hai đối số: .x và .y.
Để thử map2(), bạn sẽ tạo một bộ dữ liệu đơn giản, với một danh sách số và một danh sách chuỗi. Bạn sẽ kết hợp hai danh sách này để tạo dữ liệu mô phỏng.
Bài tập này là một phần của khóa học
Nền tảng Lập trình Hàm với purrr
Hướng dẫn bài tập
- Tạo danh sách
meanschứa các giá trị từ 1 đến 3, mỗi giá trị là một phần tử riêng. - Tạo danh sách
sitesvới "north", "west" và "east". - Dùng
map2()trên hai danh sáchsitesvàmeansđể tạo một data frame với hai cột.- Cột thứ nhất là
sites; cột thứ hai được tạo bởirnorm()vớimeanlấy từ danh sáchmeans.
- Cột thứ nhất là
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.
# List of 1, 2 and 3
means <- list(___)
# Create sites list
sites <- list(___)
# Map over two arguments: sites and means
list_of_files_map2 <- map2(___, ___, ~___(sites = ___,
a = rnorm(mean = ___, n = 200, sd = (5/2))))
list_of_files_map2