用 possibly() 轉換數值
假設你需要把 sw_people 中 Star Wars 角色的身高從公分換算成英尺。你已經知道有些身高是遺漏資料,所以會用 possibly() 把這些缺值轉成 NA。接著,將每個已有的數值乘上 0.0328084,從公分換算成英尺。
為了先了解資料,請在主控台列印 height_cm,看看以公分為單位的身高。
本練習屬於課程
使用 purrr 的函式式程式設計基礎
練習說明
- 將物件
height_cm管線輸入會回傳 double 向量的map_*()函式。 - 把
height_cm中的每個元素換算成英尺(乘上 0.0328084)。 - 由於不是所有元素都是數值,請使用
possibly()將無法處理的情況替換為NA_real_。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a piped workflow that returns double vectors
___ %>%
map___(possibly(function(___){
# Convert centimeters to feet
___ * 0.0328084
}, ___))