gpt4 book ai didi

r - 从数据框中仅选择数字列

转载 作者:行者123 更新时间:2023-12-03 04:17:35 24 4
gpt4 key购买 nike

假设您有一个像这样的 data.frame:

x <- data.frame(v1=1:20,v2=1:20,v3=1:20,v4=letters[1:20])

如何仅选择 x 中的数字列?

最佳答案

编辑:更新以避免使用不明智的sapply

由于数据框是一个列表,我们可以使用列表应用函数:

nums <- unlist(lapply(x, is.numeric), use.names = FALSE)  

然后是标准子集

x[ , nums]

## don't use sapply, even though it's less code
## nums <- sapply(x, is.numeric)

对于更惯用的现代 R,我现在推荐

x[ , purrr::map_lgl(x, is.numeric)]

更少的代码,更少地反射(reflect) R 的特殊怪癖,并且更简单,并且在数据库后端的 tibbles 上使用更健壮:

dplyr::select_if(x, is.numeric)

较新版本的 dplyr,还支持以下语法:

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

关于r - 从数据框中仅选择数字列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com