当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R purrr chuck 获取嵌套数据结构深处的元素,如果不存在则失败


chuck() 实现了 [[ 的通用形式,允许您深入、灵活地索引数据结构。如果您尝试访问的索引不存在(或者是NULL),它将抛出(即chuck)错误。

用法

chuck(.x, ...)

参数

.x

向量或环境

...

用于索引对象的访问器列表。可以是正整数、负整数(从右侧索引)、字符串(从名称中索引)或访问器函数(仅支持名称和位置的赋值变体除外)。如果正在索引的对象是 S4 对象,则按名称访问它将返回相应的槽。

支持Dynamic dots。特别是,如果您的访问器存储在列表中,您可以将其与 !!! 拼接。

也可以看看

pluck() 是一个安静的等价物。

例子

x <- list(a = 1, b = 2)

# When indexing an element that doesn't exist `[[` sometimes returns NULL:
x[["y"]]
#> NULL
# and sometimes errors:
try(x[[3]])
#> Error in x[[3]] : subscript out of bounds

# chuck() consistently errors:
try(chuck(x, "y"))
#> Error in chuck(x, "y") : Can't find name `y` in vector.
try(chuck(x, 3))
#> Error in chuck(x, 3) : 
#>   Index 1 exceeds the length of plucked object (3 > 2).
源代码:R/pluck.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Get an element deep within a nested data structure, failing if it doesn't exist。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。