Supposons que j'ai une très grande liste dans R. Certaines des valeurs sont valides et d'autres non. L'exemple utilise une liste avec seulement 6 éléments.
library(purrr)
library(dplyr)
myList <- list(-1, 0, 1, 2, 'poo', 'hi')
safe_log <- safely(log)
results <- myList %>%
map(safe_log) %>%
transpose()
allErrors <- results[['error']]
J'ai trois questions :
-
Utilisation de
allErrors
qui sont des éléments demyList
sont invalides ? Je cherche un vecteur entier qui renvoie :[1] 5 6
-
Sous-ensemble
allError
pour ne montrer que les messages d'erreur. J'attends cette sortie :[[5]] <simpleError in .Primitive("log")(x, base): non-numeric argument to mathematical function>
[[6]] <simpleError in .Primitive("log")(x, base): non-numeric argument to mathematical function>
-
Sous-ensemble
myList
pour les seules valeurs valides. Je veux une nouvelle liste qui ressemble à ceci :[[1]] [1] -1
[[2]] [1] 0
[[3]] [1] 1
[[4]] [1] 2