r - 通过具有匹配给定因子水平的变量/列选择数据框中的变量/列
问题描述
是否可以通过匹配某些因子级别的变量来选择数据框中的变量,根据它们的因子级别(使用或未使用)选择列?我可以按级别或子集进行汇总,可能按行,但我想知道是否可以从数据框中选择列,或者至少列出具有某些因子级别的变量/列。
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(.)))
推荐阅读
- javascript - React Native 和 Firebase 忘记密码
- django - 是否可以为 pre_save 信号利用 catch 异常?
- php - 如何在php中逐行提取数组的每个元素?
- c# - wpf datagrid 绑定用户控件
- javascript - 在 reactjs nodejs axios 中发布 http://localhost:5000/getData 404 (Not Found)
- git - 如何将两个存储库加入一个存储库 GIT
- python - zlib的结果在python和php之间有不同的尾巴
- python - 如何转换日期(“\n”问题)
- angularjs - 使用正则表达式进行角度搜索
- tensorflow - 零损失会影响反向传播更新吗