376 Stimmen

Gegenteil von %in%: Zeilen mit in einem Vektor angegebenen Werten ausschließen

Eine kategoriale Variable V1 in einem Datenrahmen D1 kann Werte haben, die durch die Buchstaben von A bis Z dargestellt werden. Ich möchte eine Teilmenge D2 erstellen, die einige Werte ausschließt, z. B. B, N und T. Im Grunde möchte ich einen Befehl, der das Gegenteil von %in%

D2 = subset(D1, V1 %in% c("B", "N", "T"))

9voto

edavidaja Punkte 638

purrr::compose() ist eine weitere schnelle Möglichkeit, dies für die spätere Verwendung zu definieren, wie in:

`%!in%` <- compose(`!`, `%in%`)

6voto

user3373954 Punkte 89

Eine andere Lösung könnte die Verwendung von setdiff

D1 = c("A",..., "Z") ; D0 = c("B","N","T")

D2 = setdiff(D1, D0)

D2 ist Ihre gewünschte Teilmenge.

3voto

Benbob Punkte 308
library(roperators)

1 %ni% 2:10

Wenn Sie häufig benutzerdefinierte Infix-Operatoren verwenden müssen, ist es einfacher, sie in einem Paket zu haben, als in jedem Skript oder Projekt immer wieder die gleichen Funktionen zu deklarieren.

3voto

Matt Punkte 488

1voto

Marcio Rodrigues Punkte 299

Das Paket zusammenbrechen hat es eingebaut: %!in% .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X