2016-04-25 11 views
3

Ich habe eine Liste mit zehn Elementen und jeder von diesen ist eine Liste mit 2 Elementen. Dies ist Teil dessen, was ich mit str():Liste innerhalb der Liste und lapply

> str(results) 
List of 10 
$ :List of 2 

ich die Funktion min auf den Vektor durch das zweite Element jeder Liste gebildet anwenden wollen, aber ich habe keine Ahnung, wie es zu tun mit verschachtelten Listen.

Beispiel

results <- list(list(1, 2), list(3, 4), list(5, 6), list(4, 1), list(5, 1), 
       list(5, 1), list(-1, 10), list(6, 0), list(0, 9), list(4, 4)) 
+0

Haben Sie so etwas wie 'min (sapply (Ergebnisse bedeuten,' [[ ', 2)) '? Erhält das, was Sie wollen? – Psidom

+0

Das könnte es sein. Was macht [[tun? – mufernando

+0

Es bedeutet nur Extrahieren des zweiten Elements Ihrer Unterliste. Oder 'min (sapply (Ergebnisse, Funktion (x) {x [[2]]})), sind sie gleichwertig. – Psidom

Antwort

3

Dies könnte helfen:

min(sapply(results, `[[`, 2)) 

oder äquivalent:

min(sapply(results, function(x) { x[[2]] }))