Select variables/columns 由具有匹配给定因子水平的那些人在数据框中
Select variables/columns in a dataframe by those with matching given factor levels
可能 select 数据框中的变量与某些因子水平相匹配,select根据它们的因子水平(已使用或未使用)编辑列?我可以 summarise by levels or subset possibly by rows,但我想知道是否可以从数据框中 select 编辑列,或者至少列出 variables/columns,它们具有特定的因子水平。
library(dplyr)
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")
gender2 <- c("female","male","male","male","male","female","male")
genderx <- c("xfemale","malex","malex","male","male","xfemale","xfemale")
df <- data.frame(height,weight,gender, gender2, genderx) %>%
rowid_to_column(., "ID")
有点像(或不像)
%>% select (vars(levels ==(c("male", "female")))
我们可以使用select_if
library(dplyr)
df %>%
select_if(~ is.factor(.) && all(c("male", "female") %in% levels(.)))
也可以是any
df %>%
select_if(~ is.factor(.) && any(c("male", "female") %in% levels(.)))
可能 select 数据框中的变量与某些因子水平相匹配,select根据它们的因子水平(已使用或未使用)编辑列?我可以 summarise by levels or subset possibly by rows,但我想知道是否可以从数据框中 select 编辑列,或者至少列出 variables/columns,它们具有特定的因子水平。
library(dplyr)
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")
gender2 <- c("female","male","male","male","male","female","male")
genderx <- c("xfemale","malex","malex","male","male","xfemale","xfemale")
df <- data.frame(height,weight,gender, gender2, genderx) %>%
rowid_to_column(., "ID")
有点像(或不像)
%>% select (vars(levels ==(c("male", "female")))
我们可以使用select_if
library(dplyr)
df %>%
select_if(~ is.factor(.) && all(c("male", "female") %in% levels(.)))
也可以是any
df %>%
select_if(~ is.factor(.) && any(c("male", "female") %in% levels(.)))