R语言如何查看变量可归属的所有可能类?
R语言获取变量所属类、数据集所有类集合的方法
在R中可以通过内置函数直接获取变量的完整所属类,也可以统计任意数据集内所有变量覆盖的类集合,具体操作如下:
单个变量的所有类查询
使用class()函数即可获取单个对象的完整类层级,会自动包含继承关系的父类,和仅返回底层存储类型的typeof()不同,class()返回的就是R面向对象体系中判定的类属性:
# 查询iris中Species列的所属类 class(iris$Species) # 输出结果:[1] "factor" # 有继承关系的类示例:有序因子会返回多层类 ord_var <- ordered(c("低", "中", "高")) class(ord_var) # 输出结果:[1] "ordered" "factor"
统计数据集所有变量的全部类
如果要获取整个数据集中所有变量覆盖的类的集合,遍历所有列取类后去重即可:
# 方法1:用sapply遍历后去重,返回向量格式的类集合,适合常规场景 unique(sapply(iris, class)) # 输出结果:[1] "numeric" "factor" # 方法2:用lapply遍历后去重,保留每个类的向量结构,适合变量存在多级继承类的场景 unique(lapply(iris, class))
补充说明:你示例中用到的str(iris)是用于打印数据集结构的函数,适合人工快速查看类的分布情况,如果需要把类的结果提取出来做后续自动化处理,用上面的class()结合遍历的方案更易用。
内容的提问来源于stack exchange,提问作者manu p
相关产品推荐
相关产品推荐

