You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在数据集中去除定性预测变量?用range()简化操作

批量计算Auto数据集定量变量的range值

基础R方案

先加载数据集,排除指定的2个定性变量后批量应用range()函数:

require(ISLR)
data(Auto)

# 排除定性变量origin和name,得到定量变量子集
auto_quantitative <- Auto[, !names(Auto) %in% c("origin", "name")]

# 批量计算每列的range,结果以列表形式返回
variable_ranges <- lapply(auto_quantitative, range)

# 可选:将列表转为数据框,方便查看
range_results <- as.data.frame(do.call(rbind, variable_ranges))
colnames(range_results) <- c("最小值", "最大值")
print(range_results)

Tidyverse方案(更简洁)

若习惯用tidyverse工具链,可通过管道流实现更直观的操作:

library(tidyverse)
library(ISLR)
data(Auto)

Auto %>%
  select(-origin, -name) %>%  # 移除两个定性变量
  map(range) %>%  # 对每列批量计算range
  bind_rows(.id = "变量名称") %>%  # 转换为结构化数据框
  rename(最小值 = V1, 最大值 = V2)

关键说明

  • Auto数据集中的origin(产地)和name(车型名称)是定性变量,其余7列均为定量变量,与你手动罗列的变量完全一致。
  • 通过!names(Auto) %in% c("origin", "name")可快速筛选出所有定量变量,避免手动逐个输入变量名的繁琐操作。
  • lapply(基础R)和map(tidyverse)都是批量处理函数,能一次性对所有目标列应用range(),提升代码效率。

内容的提问来源于stack exchange,提问作者Beginner Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:40:38