从Arrests数据框拆分数值型与分类型变量为两个数据框
拆分Arrests数据框为数值型和分类型子数据框
没问题!要把Arrests数据框拆分成仅含数值型变量和仅含分类型变量的两个数据框,咱们可以用R的类型判断工具轻松实现,具体步骤如下:
1. 提取数值型变量
用sapply()函数遍历数据框的每一列,判断是否为数值型,再用这个逻辑结果筛选列:
# 创建数值型子数据框 numeric_arrests <- Arrests[, sapply(Arrests, is.numeric)]
这个代码会自动把所有数值类型(比如整数、浮点数)的列提取出来,比如你的示例里的age和checks列就会被包含进来。
2. 提取分类型变量
分类型变量通常包括**因子(factor)和字符(character)**类型,咱们可以自定义一个判断函数来筛选这些列:
# 创建分类型子数据框 categorical_arrests <- Arrests[, sapply(Arrests, function(col) is.factor(col) || is.character(col))]
这样就能把示例里的released、colour、sex、employed、citizen这些列(如果是因子/字符型的话)都提取出来。如果你的year列是作为分类变量使用的,也可以先把它转成因子再加入:
# 若需要将year转为分类型 Arrests$year <- as.factor(Arrests$year) # 再重新提取分类型数据框 categorical_arrests <- Arrests[, sapply(Arrests, function(col) is.factor(col) || is.character(col))]
验证结果
最后可以用str()函数查看两个子数据框的结构,确认拆分是否正确:
str(numeric_arrests) str(categorical_arrests)
内容的提问来源于stack exchange,提问作者Bustergun
相关产品推荐
相关产品推荐

