У меня есть предложение tryCatch()
внутри lapply()
l oop, которое будет либо выводить data.frame, если входное значение является действительным, либо NULL
, если это не так. Таким образом, полученный в результате список содержит элементы обоих классов. Вот пример:
a = list(1, 2, "skere", 3)
b = lapply(a, function(x){
tryCatch({
out = data.frame("number" = x,
"mod2" = x%%2) # This will fail for characters
return(out)
},
error = function(e) {})
})
Результат print(b)
будет тогда:
[[1]]
number mod2
1 1 1
[[2]]
number mod2
1 2 0
[[3]]
NULL
[[4]]
number mod2
1 3 1
В моем случае я хочу свернуть список фреймов данных в один фрейм данных, и dplyr::bind_rows()
к счастью, NULL не добавляется. Таким образом, сейчас это не является большой проблемой, но это может быть проблемой и в другом случае.
Таким образом, вопрос заключается в следующем: есть ли способ полностью исключить возвращение NULL
в первую очередь?