如何在R语言中获取双精度类型数据的变量名并以列表形式查看
如何在R语言中获取双精度类型数据的变量名并以列表形式查看
嗨,我完全懂你的需求啦——你想从out.2013.TC_alt这个数据里,把所有双精度(double)类型的变量名提取出来,并且以列表形式查看,而不是拿到所有列名或者一个列数超多的DataFrame视图对吧?
这里给你两种实用的方法,你可以根据自己的习惯选择:
方法一:基础R实现(无需额外安装包)
先通过判断每一列的数据类型,筛选出double类型的列名,再转换成列表:
# 筛选出所有double类型的列名 double_col_names <- colnames(out.2013.TC_alt)[sapply(out.2013.TC_alt, is.double)] # 将字符向量转换为列表格式 double_col_list <- as.list(double_col_names) # 查看最终的列表结果 double_col_list
解释一下:
sapply(out.2013.TC_alt, is.double)会生成一个逻辑向量,每一位对应数据中某一列是否为double类型;- 用这个逻辑向量去过滤
colnames()的结果,就能精准拿到你要的double类型变量名; - 最后用
as.list()把字符格式的列名转换成列表,就符合你想要的呈现形式了。
方法二:tidyverse工具包实现(代码更直观)
如果你平时习惯用tidyverse系列工具,可以用下面的代码:
# 先加载需要的包(如果没安装先运行 install.packages("tidyverse")) library(dplyr) library(purrr) # 筛选double类型列、提取列名并转成列表 double_col_list <- out.2013.TC_alt %>% select(where(is.double)) %>% colnames() %>% as.list() # 查看结果 double_col_list
解释一下:
select(where(is.double))直接筛选出所有double类型的列;- 接着用
colnames()提取这些列的名称,最后转成列表即可。
这样你就能得到只包含double类型变量名的列表啦,不用再面对一大堆无关的列名或者超大的DataFrame视图~
备注:内容来源于stack exchange,提问作者Idowu Mariam
相关产品推荐
相关产品推荐

