関数を作る
あなたはウェブエージェンシーのデータアナリストとして、ウェブスクレイピング用のツールをできるだけ効率的にするために、引き続き改良を進めています。
この演習では、前の演習で作成した抽出関数を少し厳密にします。具体的には、ステータス抽出関数が返すコードが 200〜203 の範囲にない場合は、欠損値(NA)を返します。範囲内であれば、ステータスコードを返します。
purrr と httr は読み込まれています。
この演習はコースの一部です
purrr で学ぶ中級関数型プログラミング
演習の手順
左側の要素が右側の要素に含まれるかをテストする
%in%演算子を、否定して%notin%を作成します。GET()とstatus_code()を組み合わせたextract_status()関数をcompose()で作成します。提示された関数を完成させます。
urlのステータスコードを抽出してcode変数に代入してください。その後、このcodeが200:203に含まれない場合は欠損値を返し、そうでなければステータスコードを返します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Negate the %in% function
`%not_in%` <- ___(`%in%`)
# Compose a status extractor
extract_status <- ___(___, ___)
# Complete the function definition
strict_code <- function(url) {
# Extract the status of the URL
code <- ___(___)
# If code is not in the acceptable range ...
if (code ___ 200:203) {
# then return NA
return(___)
}
code
}