Симуляция данных с несколькими входными параметрами с помощью map2()
Функция map() отлично подходит, когда нужно перебрать элементы одного списка. Однако нередко требуется работать сразу с двумя списками. Именно здесь на помощь приходит map2(). Если map() принимает список как аргумент .x, то map2() принимает два списка: .x и .y.
Чтобы опробовать map2() в деле, вы создадите простой набор данных: один список чисел и один список строк. Затем объедините их и сгенерируете смоделированные данные.
Это упражнение является частью курса
Основы функционального программирования с purrr
Инструкции к упражнению
- Создайте список
means, содержащий значения от 1 до 3, каждое в отдельном элементе. - Создайте список
sitesсо значениями "north", "west" и "east". - Примените
map2()к спискамsitesиmeans, чтобы создать фрейм данных с двумя столбцами.- Первый столбец —
sites; второй генерируется функциейrnorm()со значениемmeanиз спискаmeans.
- Первый столбец —
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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