Von einem gegebenen Datenrahmen (myData
, in dem folgenden Beispiel) möchte ich die Variablen mit Werten abstimmen, die mindestens einem Paar von Werten in einer Liste (myList
, in der Beispiel unten).Subset-Variablen, die Paaren von Werten in R
myList <- list(c(8,15), c(2,3))
v1 <- c(1, 2, 3, 8, 15)
v2 <- c(3, 7, 8, 9, 10)
v3 <- c(2, 4, 5, 6, 7)
v4 <- c(8, 15, 6, 7, 9)
myData <- cbind(v1, v2, v3, v4)
Idealerweise sollte die Teilmenge besteht nur aus v1
und v4
weil in v1 das Paar 8,15 und das Paar auftritt 2,3 und v4 in tritt das Paar 8,15.
I die which
Anweisung für ein einzelnes Paar zu verwenden versucht (d, 8, 15), wie folgt:
subset <- myData[which(myData==unlist(myList[[1]][1]) & myData==unlist(myList[[1]][2]))]
Dennoch der Ausgang eine leere ganze Zahl ist. Fehle ich etwas in der which
Aussage? Und wie könnte ich den Code für mehr als ein Wertepaar implementieren?
Vielen Dank für Ihre Hilfe!
GION
Suchen Sie nach dem sequentiellen Auftreten jeder Zahl in dem Paar (8 dann 15; 2 dann 3) oder nur irgendein Auftreten von beiden Zahlen jedes Paares? – seasmith
Jedes Auftreten. –