Comece agoraComece grátis

Tudo em uma única chamada

Para deixar este código ainda mais reprodutível, vamos criar uma função que faça tudo em uma única chamada. Já fornecemos um esqueleto para essa função; agora é a sua vez de completá-la!

Nos exercícios anteriores, escrevemos o processo em várias etapas. Agora, queremos que isso seja feito em apenas uma chamada: vamos escrever uma função que recebe uma lista de URLs e retorna os nomes dos elementos que não estão acessíveis.

Depois de escrever essa função, você pode salvá-la e reutilizá-la sempre que precisar limpar uma lista de URLs. E quem sabe até colocá-la em um pacote ;)

A lista urls do exercício anterior está disponível no seu ambiente de trabalho.

Este exercicio faz parte do curso

Programação Funcional Intermediária com purrr

Ver curso

Instruções do exercicio

  • Crie, dentro da chamada map(), uma versão com possibly() de read_lines() que, caso contrário, retorne 404.

  • Defina os nomes da saída.

  • Use a função paste() com o argumento collapse definido como " " para transformar cada sublista em um vetor de caracteres.

  • Remova os elementos que são iguais a 404.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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)
Editar e Executar Código