Перетворення значень за допомогою possibly()
Припустімо, вам потрібно перетворити зріст персонажів Star Wars у sw_people з сантиметрів у фути. Ви вже знаєте, що частина значень зросту відсутня, тож ви застосуєте possibly(), щоб замінити пропуски на NA. Потім ви помножите кожне з наявних значень на 0.0328084, щоб перевести їх із сантиметрів у фути.
Щоб краще відчути свої дані, виведіть у консоль height_cm, щоб переглянути значення зросту в сантиметрах.
Ця вправа є частиною курсу
Основи функціонального програмування з purrr
Інструкції до вправи
- Передайте об'єкт
height_cmчерез пайп у функціюmap_*(), яка повертає вектори типу double. - Перетворіть кожен елемент у
height_cmу фути (помножте його на 0.0328084). - Оскільки не всі елементи є числовими, використайте
possibly(), щоб замінити ті, що не обробляються, наNA_real_.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create a piped workflow that returns double vectors
___ %>%
map___(possibly(function(___){
# Convert centimeters to feet
___ * 0.0328084
}, ___))