提取 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::keep
和 purrr::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(.))
在我的项目中,我想从我的 R 数据框中提取除数字以外的所有列,作为 this 问题我使用了相同的方法,只是将非门放入 is.numeric()
R 函数但它不起作用
这给出了所有的数字数据,
x<-iris %>% dplyr::select(where(is.numeric))
但这并没有像预期的那样工作,
x<-iris %>% dplyr::select(where(!is.numeric))
注意:最后输出数据框应该只包含鸢尾花数据集中的物种列
purrr
来自 tidyverse
的包裹正是您想要的 purrr::keep
和 purrr::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(.))