Filter dplyr(R)中命名向量的过滤器

Filter dplyr(R)中命名向量的过滤器,filter,dplyr,sapply,Filter,Dplyr,Sapply,我正试图找到一种使用dplyr将二进制数值变量转换为因子的快速方法 我有一个具有以下结构的数据集: library(dplyr) f<-as_tibble(data.frame(col1=c(1,1,0),col2=c("ham","spam","spam"),col3=c(1,2,8),col4=c(1,0,0))) 有什么想法吗? 谢谢如何使用选择_if并定义一个函数来检查列是否为数字以及distint值的数目是否正好为2。尝试: f %>% select_if(~n_d

我正试图找到一种使用dplyr将二进制数值变量转换为因子的快速方法

我有一个具有以下结构的数据集:

library(dplyr)
f<-as_tibble(data.frame(col1=c(1,1,0),col2=c("ham","spam","spam"),col3=c(1,2,8),col4=c(1,0,0)))
有什么想法吗?
谢谢

如何使用
选择_if
并定义一个函数来检查列是否为数字以及distint值的数目是否正好为2。尝试:

f %>% 
  select_if(~n_distinct(.) == 2 & is.numeric(.)) %>% 
  names()
这给了你:

[1] "col1" "col4"

谢谢,这就行了!
f %>% 
  select_if(~n_distinct(.) == 2 & is.numeric(.)) %>% 
  names()
[1] "col1" "col4"