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"))

0voto

Tony Ladson Punkte 3229

Die Hilfe für %in%, help("%in%") enthält im Abschnitt Beispiele diese Definition von nicht in,

"%w/o%" <- function(x, y) x[!x %in% y] #-- x without y

Versuchen wir es:

c(2,3,4) %w/o% c(2,8,9)
[1] 3 4

Alternativ dazu

"%w/o%" <- function(x, y) !x %in% y #--  x without y
c(2,3,4) %w/o% c(2,8,9)
# [1] FALSE  TRUE  TRUE

0voto

Vishal Sharma Punkte 198
require(TSDT)

c(1,3,11) %nin% 1:10
# [1] FALSE FALSE  TRUE

Weitere Informationen finden Sie unter: https://cran.r-project.org/web/packages/TSDT/TSDT.pdf

-2voto

Jim Hunter Punkte 47

In Frank Harrells Paket von R-Utility-Funktionen gibt es ein %nin% (not in), das genau das tut, was in der ursprünglichen Frage gefragt wurde. Das Rad muss nicht neu erfunden werden.

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