提取 R 数据框中除数字以外的所有列

Extract all columns except numeric in R data frame

在我的项目中,我想从我的 R 数据框中提取除数字以外的所有列,作为 this 问题我使用了相同的方法,只是将非门放入 is.numeric() R 函数但它不起作用

这给出了所有的数字数据,

x<-iris %>% dplyr::select(where(is.numeric))

但这并没有像预期的那样工作,

x<-iris %>% dplyr::select(where(!is.numeric))

注意:最后输出数据框应该只包含鸢尾花数据集中的物种列

purrr 来自 tidyverse 的包裹正是您想要的 purrr::keeppurrr::discard

library(purrr)

x <- iris %>% keep(is.numeric)

通过这段代码,您在 keep 函数中设置了一个逻辑测试,只有通过测试的列才会保留。

要反转该操作并实现您的愿望,您也可以使用 purrr 中的 discard

x <- iris %>% discard(is.numeric)

您可以将 discard 视为 keep,但 !is.numeric

或者 dplyr

x <- iris %>% select_if(~!is.numeric(.))