使用purrr::safely()的输出
假设我在R中有一个非常大的列表,其中一些值是有效的,一些值是无效的。该示例使用仅包含6个元素的列表使用purrr::safely()的输出,r,purrr,R,Purrr,假设我在R中有一个非常大的列表,其中一些值是有效的,一些值是无效的。该示例使用仅包含6个元素的列表 库(purrr) 图书馆(dplyr) 迈利斯特 您可以使用继承检查哪些元素包含某种错误: is_error = allErrors %>% map_lgl(~ inherits(., "error")) 完成此操作后,对列表进行子集设置很简单: which(is_error) allErrors[is_error] 与子集设置相同,以获取有效值: myList[! is_error
库(purrr)
图书馆(dplyr)
迈利斯特
您可以使用继承检查哪些元素包含某种错误:
is_error = allErrors %>% map_lgl(~ inherits(., "error"))
完成此操作后,对列表进行子集设置很简单:
which(is_error)
allErrors[is_error]
与子集设置相同,以获取有效值:
myList[! is_error]
这是一个漂亮的答案。继承
功能对我来说是新功能。我还了解了使用[
和[[
对列表进行子集划分的区别。谢谢。作为第1步的替代方法:is\u ok=allErrors%>%map(is.null)
is_error = allErrors %>% map_lgl(~ inherits(., "error"))
which(is_error)
allErrors[is_error]
myList[! is_error]