是否可以按列表列表中的列表组件提取值

  • 本文关键字:列表 组件 提取 是否 r
  • 更新时间 :
  • 英文 :


我一直在为这个问题苦苦挣扎一段时间,我认为有一个简单的解决方案,但我只是没有看到。 我在向量上调用了一个函数,返回的是一个列表列表,原始向量中的每个值都有一个列表。 下面是该函数输出的开头,仅显示列表列表中的第一个列表:

> getGOParents(go1769308.mf)[1]
$`GO:0003824`
$`GO:0003824`$Ontology
[1] "MF"
$`GO:0003824`$Parents
        is_a 
"GO:0003674" 

我只想获取最后一个值"GO:0003674"。 这可能吗? 如果有任何帮助,以下是列表的结构:

> str(getGOParents(go1769308.mf)[1])
List of 1
 $ GO:0003824:List of 2
  ..$ Ontology: chr "MF"
  ..$ Parents : Named chr "GO:0003674"
  .. ..- attr(*, "names")= chr "is_a"

我正在寻找的值在组件$Parents中,但我似乎无法访问它:

> Parents(getGOParents(go1769308.mf)[1])
Error: could not find function "Parents"
> 
> getGOParents(go1769308.mf)[1]$Parents
NULL

可能误解了组件的效用,因此我为什么要为此苦苦挣扎。

我们需要使用 [[ 来提取list

getGOParents(go1769308.mf)[[1]]$Parents

OP 的代码不起作用的原因是使用嵌套list组件保持嵌套[

最新更新