Ich habe eine Liste von Listen, jede Unterliste hat Dutzende von Elementen und ich möchte nur eine davon extrahieren.
x = list(`1` = list(a=1,b=2),`2` = list(a=3,b=4))
Es gibt viele Möglichkeiten, dies zu tun, aber ich mag so klug wie möglich sein, so dass ich versuche
lapply(x,`$`,"b")
# $`1`
# NULL
#
# $`2`
# NULL
aber das funktioniert nicht, trotz der Tatsache, dass
`$`(x[[1]],"b")
# [1] 2
mapply
funktioniert so:
mapply(`$`,x,MoreArgs=list(name="b"))
# 1 2
# 2 4
kann ich lapply
wie folgt verwenden:
lapply(x,getElement,"b")
# $`1`
# [1] 2
#
# $`2`
# [1] 4
Aber warum nicht lapply
Arbeit mit $
so, wie es zu sollte?
Dies kann hilfreich sein: http://stackoverflow.com/q/18216084/1191259 – Frank
Dank @Frank - ich sah, dass, bevor ich geschrieben, aber das ist auch schon 'lapply'-ing an einer Teilmenge der Elternliste, in die ich die Kindlisten unterteilen möchte. – Mark
Als der Typ, der es geschrieben hat, weiß ich nicht, was Sie unter Subsets meinen, aber das ist in Ordnung. – Frank