开始使用免费开始使用

一次调用全部搞定

为使这段代码更易复现,我们将编写一个函数,一次调用即可完成整个流程。我们已经为您提供了该函数的骨架,现在请您来补全它!

在前面的练习中,我们把流程拆分成了多个步骤。现在,希望用一次调用就能完成:我们将编写一个函数,接收一个 URL 列表,并返回那些无法访问的元素名称。

编写好这个函数后,您可以将其保存,在需要清理 URL 列表时随时复用。甚至可以把它放进一个 package 中 ;)

上一练习中的 urls 列表已在您的工作区可用。

本练习是课程的一部分

使用 purrr 的函数式编程进阶

查看课程

练习说明

  • map() 调用中创建 read_lines()possibly() 版本,使其在失败时返回 404

  • 设置输出的名称。

  • 使用 paste() 函数,并将 collapse 参数设为 " ",把每个子列表转换为字符向量。

  • 移除等于 404 的元素。

交互式实操练习

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

url_tester <- function(url_list){
  url_list %>%
    # Map a version of read_lines() that otherwise returns 404
    map( ___(___, otherwise = ___) ) %>%
    # Set the names of the result
    ___( urls ) %>% 
    # paste() and collapse each element
    map(___, ___ = " ") %>%
    # Remove the 404 
    ___(___) %>%
    names() # Will return the names of the good ones
}

# Try this function on the urls object
url_tester(urls)
编辑并运行代码