2016-09-01 2 views
3

in eine andere Liste in r nicht vorhanden sind Ich habe zwei Listen, die die gleichen Vektoren haben, aber mit unterschiedlicher Länge, wie Elemente aus einer Liste zu finden, die

list1 <- list(a = 1:10, b = 3:20) 
list2 <- list(a = c(2,5,8), b = c(3,5,11,20)) 

Ich möchte Elemente in list1 von jedem Vektor finden die in dem entsprechenden Vektor in list2 nicht vorhanden sind. Es gibt ähnliche Fragen für andere Skripte statt R. antwortete

Ich erwarte, dass die endgültige Liste

ist
lst <- list(a=c(1,3,4,6,7,9,10),b=c(4,6:10,12:19)) 

Danke für die Hilfe.

Antwort

5

Wir verwenden

mapply(setdiff,list1,list2) 
#$a 
#[1] 1 3 4 6 7 9 10 

#$b 
#[1] 4 6 7 8 9 10 12 13 14 15 16 17 18 19 
+0

Ich war nur zusätzlich zu fragen gehen, ob wir davon ausgehen können, dass '' list1' und list2' ist immer „in Ausrichtung“, mit der gleichen Anzahl von benannten Elementen in den gleichen Auftrag. Wenn nicht, wird es komplizierter. – joran

+0

Guter Punkt, ich habe das nicht ganz verstanden, oder zumindest war es nicht so klar, als ich es zuerst las. – joran

Verwandte Themen