我正在使用dplyr
和管道以及NbClust
函数编写代码,该函数返回名为All.index
,All.CriticalValues
,Best.nc
, Best.partition
。
因此,我可以将表达式分配给某个变量,然后将Best.nc
元素称为variable$Best.nc
。但是如何使用管道提取Best.nc
元素?
我尝试过purrr::map('[[', 'Best.nc')
,但是没有用。
答案 0 :(得分:3)
您可以直接使用基数R [[
作为函数,而无需使用map
:
lst <- list(a = 1, b = 2)
lst %>% `[[`('a')
# [1] 1
variable %>% `[[`('Best.nc')
或者通过purrr
,您可以使用pluck
函数并仅提供元素索引或名称:
library(purrr)
lst %>% pluck('a')
# [1] 1
lst %>% pluck(1)
# [1] 1
针对您的情况:
variable %>% pluck('Best.nc')
pluck
到[[
提取器的优点在于,您可以为嵌套列表进行深度索引,例如:
lst <- list(a = list(x = list(), y = 'm', z = 1:3), b = 2)
要访问嵌套在z
中的a
元素:
lst %>% pluck('a', 'z')
# [1] 1 2 3