Категориальная переменная V1 в кадре данных D1 может иметь значения, представленные буквами от A до Z. Я хочу создать подмножество D2, которое исключает некоторые значения, скажем, B, N и T. В основном, я хочу команду, которая противоположно %in%
D2 = subset(D1, V1 %in% c('B','N',T'))
!(x %in% y)
). Жизнь может быть легкой иногда ...Ответы:
Вы можете использовать
!
оператор, чтобы в основном сделать любое ИСТИНА ЛОЖЬ и каждую ЛОЖЬ ИСТИНА. так:РЕДАКТИРОВАТЬ: Вы также можете сделать оператор самостоятельно:
источник
?"%in%"
), где вызывается оператор new%w/o%
.?Negate
например,"%ni%" <- Negate("%in%")
subset(df, variable %ni% c("A", "B"))
, но не при непосредственном использовании, например,subset(df, variable Negate("%in%") c("A", "B"))
%
. Чтобы создать оператор, вам нужно присвоить функции с двумя операндами имя, начинающееся и заканчивающееся на%
.Как насчет:
источник
Если вы посмотрите на код
%in%
тогда вы должны быть в состоянии написать свою версию противоположного. я использую
Другой способ это:
источник
Вот версия , использующая
filter
вdplyr
том , что применяет ту же технику, что и общепринятом ответ отрицая логический с:источник
Использование
negate
frompurrr
также делает трюк быстро и аккуратно:Тогда использование, например,
источник
Negate
который делает то же самое. Разница лишь в том, что мурлыкает звонкиas_mapper
на вещи, которые вы передаете, во времяNegate
звонковmatch.fun
. rdocumentation.org/packages/purrr/versions/0.2.5/topics/… stat.ethz.ch/R-manual/R-devel/library/base/html/match.fun.htmlpurrr::compose()
еще один быстрый способ определить это для последующего использования, как в:источник
Другим решением может быть использование
setdiff
D2
это ваше желаемое подмножество.источник
Hmisc имеет
%nin%
функцию, которая должна сделать это.https://www.rdocumentation.org/packages/Hmisc/versions/4.4-0/topics/%25nin%25
источник
Я думаю, что самое ясное использование просто
источник
источник
Для получения дополнительной информации вы можете обратиться по адресу : https://cran.r-project.org/web/packages/TSDT/TSDT.pdf
источник
Справка для% in%,
help("%in%")
включает в раздел Примеры, это определение не в"%w/o%" <- function(x, y) x[!x %in% y] #-- x without y
Давай попробуем:
альтернативно
источник