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

时间:2017-03-24 02:45:48

标签: 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

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

1 个答案:

答案 0 :(得分:0)

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

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

OP的代码没有工作的原因是使用[嵌套的list组件保持嵌套