Я пытаюсь написать функцию, которая будет возвращать индекс всех двоичных переменных во фрейме данных, за исключением предопределенной переменной или списка предоставленных переменных.Вы можете сгенерировать пример данных с помощью этого:
data<-data.frame("RESPONSE" = sample(c("YES","NO"),100,replace = T),
"FACTOR" = sample(c("YES","NO","MAYBE"),100,replace = T),
"BINARY" = sample(c("YES","NO"),100,replace = T),
"NUMERIC" = sample(1:100,100,replace = T))
В этом случае предопределенная переменная, которую следует игнорировать, - "RESPONSE"
response.variable.name<-"RESPONSE"
Я могу получить список всех двоичных переменных, используя:
sapply(data,function(x) nlevels(as.factor(x))==2)
и список всех переменных, не названных «RESPONSE», используя:
!names(data) %in% response.variable.name
, но вывод, который я ищу, игнорирует предопределенный столбец или список столбцов и возвращаеттот же вывод, который вы получили бы:
names(data)=="BINARY"
Я подумал, используя два условия внутри функции sapply, но names (x) внутри sapply возвращает значения NULL.Я знаю, что есть легкое решение этой проблемы