开始使用免费开始使用

创建一个函数

在上一个练习中,您已经看到如何使用 safely() 来识别不可访问的 URL:我们编写了一个小流程,调用了 read_lines() 的安全版本,并返回了 $errors 列表。

本练习中我们换一种做法,因为我们不只关注错误。与其映射一个安全函数并从结果中提取 "error" 元素,不如编写一个辅助函数,直接对 safe_read() 的输出进行 discard(),把其中的 NULL 元素去掉。

这样一来,您无需再分别提取输出中的 $error$result。如果元素可访问,内容会在 $results 中返回;如果不可访问,则在 $error 中返回错误。

我们已为您提供了 urls 向量。

本练习是课程的一部分

使用 purrr 的函数式编程进阶

查看课程

练习说明

  • 创建 read_lines() 的安全版本。

  • 创建名为 safe_read_discard() 的函数,用于运行 read_lines() 的安全版本,并对结果进行 discard(),移除其中的 NULL 元素。

  • 将该函数映射到已提供给您的 URL 列表上。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create a safe version of read_lines()
safe_read <- ___

# Code a function that discard() the NULL from safe_read()
safe_read_discard <- function(url){
  ___(___) %>%
    ___(is.null)
}

# Map this function on the url list
res <- ___(urls, ___)
编辑并运行代码