建立含清單欄位的 data.frame
就用清單欄位來實作我們的連結擷取器,為本章畫下句點吧。使用巢狀 dataframe(也就是含有清單欄位的 dataframe)的概念,是把所有資料都保留在同一個 dataframe 裡,讓整體流程維持整潔有序。
你已經拿到一個名為 df 的 tibble,其中有一個 urls 欄位,放著本章一開始就一直使用的 4 個 URL。若想先看一下這個 dataframe,可以直接在主控台列印它。
我們要建立一個名為 links 的新欄位,內容是 get_links() 函式(已在你的工作環境中可用)的結果。由於這個函式的輸出長度不一致,輸出會是一個清單欄位。之後你需要用 unnest(),把它還原成標準的 dataframe。
本練習屬於課程
使用 purrr 的 R 語言中級函式程式設計
練習說明
載入 3 個必要套件:
dplyr、tidyr和purrr取用物件
df,並在其上執行mutate()。mutate()會把get_links()函式套用到urls欄位上。列印結果。
將結果展開(unnest)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Load dplyr, tidyr, and purrr
# Create a "links" columns, by mapping get_links() on urls
df2 <- df %>%
mutate(___ = map(___, get_links))
# Print df2 to see what it looks like
# unnest() df2 to have a tidy dataframe
df2 %>%
___(cols=c(links))