0
我有一个具有相同名称“元素”的元素的列表。访问列表中具有相同名称的元素
li <- list(element=list(id=1, name="x"), element=list(id=2, name="y"))
而且我想用一个“id”来获得元素的“名称”等于X.
首先,我认为我可以做到这一点:
li[[which(li$element$id == 1)]]$name
但问题是,li$element
指的是列表的第一个元素“元素” ......
> li$element
$id
[1] 1
$name
[1] "x"
所以,如果我看˚F还是从我的列表中的第一个元素的ID不同的ID,它返回“整数(0)”
> which(li$element$id == 2)
integer(0)
其实我这样做:
for (element in li) {
if(element$id == 2) {
name <- element$name
}
}
但我不知道是否有一个更好的方式去做,或者如果我错过了基本的列表概念(对元素的访问......)。
谢谢
为什么你要查找的名字时,所有的名称是相同的? –
对不起,我的例子令人困惑,通过“找到名字”我的意思是元素的名称,它是:“li $ element $ name”。 –