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」。 –