To jest naprawdę proste, ale nie mogę go zlokalizować. Wiem, że R ma zanegowaną wersję %in%
, która zwraca "nie w". Oczywiście mogłem po prostu użyć !(x %in% y)
, ale język zawiera już zanegowaną konstrukcję i chcę jej użyć, goshdarnit.Mecz z negacją
Więc jaka jest funkcja? Wyszukiwania, a także %nin%
i %notin%
wszystko zawiedzie.
Bonus internets do ciebie, jeśli wzorzec odpowiedź kontra !(x %in% y)
stosując następujące dane przykładowe:
x <- sample(sample(letters,5), 10^3, replace=TRUE)
y <- sample(letters, 10^5, replace=TRUE)
Nie sądzę, że tak. Po prostu robię własne używając 'Negate'. – joran
Co nasuwa pytanie: czy 'Negacja' jest szybsza/wolniejsza niż'! '? Ale poważnie, mógłbym przysiąc, że widziałem to już wcześniej. –
Myślę, że pakiet dodatek ma to, co masz po, ale nie jest zbyt szorstki na palec wskazujący, aby wpisać '!'. Zwłaszcza, że twoje nawiasy są niepotrzebne. '! x% w% y' działa dobrze. Zgaduję, że Negate będzie wolniejszy, ponieważ często są to funkcje o wyższym poziomie. –