safely() – nahrazení hodnotou NA
Pokud použiješ map() na seznam, kde jeden z prvků nemá správný datový typ, výsledek nebude takový, jaký očekáváš. Třeba se pokoušíš provést matematickou operaci na každém prvku, ale ukáže se, že jeden z nich je řetězec – to prostě fungovat nebude.
U velmi velkého seznamu může být obtížné zjistit, kde a proč se něco pokazilo. Právě tady přichází ke slovu safely() – ukáže ti jak výsledky, tak i místa, kde v rámci volání map() došlo k chybám.
Toto cvičení je součástí kurzu
Foundations of Functional Programming with purrr
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Map safely over log
a <- list(1, "I can", 10, 0, "purrr") %>%
map(___(___, otherwise = NA_real_)) %>%
# Transpose the result
transpose()