r - 通过匹配给定因子水平的变量/列选择数据框中的变量/列

标签 r dataframe select levels

是否可以通过匹配特定因子水平的那些来选择数据框中的变量,根据它们的因子水平(使用或未使用)选择列?我可以summarise by levels或可能的子集 by rows ,但我想知道是否可以从数据框中选择列,或者至少列出具有特定因子水平的变量/列。

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(.)))

也可以是任意

df %>% 
    select_if(~ is.factor(.) && any(c("male", "female") %in% levels(.)))

关于r - 通过匹配给定因子水平的变量/列选择数据框中的变量/列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59326623/

相关文章:

r - 如何使用 expss 创建两个表头表

mysql - 如何根据给定查询编写优化查询?

r - ipython notebook R cell magic作为python函数

r - 如何一次将一个目录中的所有文件读入R?

python - 数字在 Pandas DataFrame 中按顺序重复

sql - 如何在每个 id 组的列中选择最频繁的值?

jquery - 设置选择标签内各个选项元素的颜色样式

r - 使用 apply() 函数迭代不同的数据类型不起作用

r - 未在 bookdown PDF 中保留的 HTML 格式的超链接

python - Pandas 合并并保留索引