unique(x) %in% c('No','Yes')
오히려 스칼라보다 unique(x)
는 벡터에 동일한 길이를 반환합니다. 내 생각 엔 당신 아래와 같이 setequal(x,c('No','Yes'))
를 사용하여 더 나을 :
library(dplyr)
# generate the dataframe with different factor levels
n<-100
no_yes <- sample(c('No','Yes'), n, replace = T)
no_yes_maybe <- sample(c('No','Yes','Maybe'), n, replace = T)
no <- sample(c('No'), n, replace = T)
no_maybe <- sample(c('No','Maybe'), n, replace = T)
AB<-data.frame(
no_yes, # only this column should get returned
no_yes_maybe,
no,
no_maybe,
stringsAsFactors = T
)%>%as.tbl
# function to return TRUE if column has only No/Yes factors.
desired_levels <- c('No','Yes')
predicate_function <- function(x) setequal(levels(x),desired_levels)
# use dplyr to select columns with desired factor levels
AB%>%select_if(predicate_function)
당신이 샘플 데이터는 시작 지점으로 사용할 제공 할 수 있습니까? AB가 무엇인지 알려주지 않으면 질문을 해결하는 것이 어렵습니다. – petergensler