시작하기무료로 시작하기

한 번의 호출로 모두 처리하기

코드를 더 재현 가능하게 만들기 위해, 한 번의 호출로 끝내는 함수를 만들어 보려고 해요. 이미 이 함수의 뼈대는 제공되어 있으니, 이제 여러분이 완성해 보세요!

앞선 연습에서는 여러 단계로 과정을 작성했어요. 이제는 이를 한 번의 호출로 처리하려고 합니다. URL 목록을 받아서, 연결할 수 없는 요소의 이름만 반환하는 함수를 작성할 거예요.

함수를 작성한 뒤에는 저장해 두었다가, URL 목록을 정리해야 할 때마다 재사용할 수 있어요. 나중에 패키지로 만들어도 좋겠죠 ;)

이전 연습에서 사용한 urls 리스트가 작업 공간에 준비되어 있어요.

이 연습은 강의의 일부입니다

purrr로 배우는 중급 함수형 프로그래밍

강의 보기

연습 안내

  • map() 호출 내부에서, 기본적으로 404를 반환하도록 하는 read_lines()possibly() 버전을 만드세요.

  • 출력의 이름을 설정하세요.

  • 각 하위 리스트를 문자 벡터로 바꾸기 위해 collapse 인수를 " "로 설정한 paste() 함수를 사용하세요.

  • 값이 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)
코드 편집 및 실행