Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用purrr::safely()的输出_R_Purrr - Fatal编程技术网

使用purrr::safely()的输出

使用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

假设我在R中有一个非常大的列表,其中一些值是有效的,一些值是无效的。该示例使用仅包含6个元素的列表

库(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]