开始使用免费开始使用

使用 map2() 处理多输入来模拟数据

当您只需遍历一个列表时,map() 很好用。不过,您经常需要同时遍历两个列表。这就是 map2() 派上用场的地方。map() 将列表作为 .x 参数;而 map2() 接受两个列表作为参数:.x.y

为了试用 map2(),您将创建一个简单的数据集:一个数字列表和一个字符串列表。然后把这两个列表配对,生成一些模拟数据。

本练习是课程的一部分

使用 purrr 掌握函数式编程基础

查看课程

练习说明

  • 创建一个 means 列表,包含数值 1 到 3,并且每个值是一个独立元素。
  • 创建一个 sites 列表,包含 "north"、"west" 和 "east"。
  • 使用 map2() 遍历 sitesmeans 列表,创建一个包含两列的数据框。
    • 第一列为 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
编辑并运行代码