當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。