如何通过str()函数仅查看R中数据框的chr类型变量?
解决方法
方法一:基础R实现
先筛选出数据框中属于字符类型的列,再用str()查看结构:
str(mtvtn[, sapply(mtvtn, is.character)])
sapply(mtvtn, is.character)会遍历数据框的每一列,返回一个逻辑向量,标记对应列是否为字符类型- 用这个逻辑向量筛选数据框的列,只保留字符型列后,再用
str()查看结构
方法二:tidyverse/dplyr实现
如果你习惯用tidyverse工具集,用dplyr::select()配合where()可以更直观地筛选:
library(dplyr) str(select(mtvtn, where(is.character)))
为什么你的尝试没生效?
str()函数的list参数并不是用来筛选列类型的,它的作用是控制是否将列表/数据框的元素展开显示,所以你之前的str(mtvtn, list = is.character(mtvtn))用法不符合这个参数的设计逻辑,自然无法得到想要的结果。
内容的提问来源于stack exchange,提问作者uThandi
相关产品推荐
相关产品推荐

