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

R语言mtcars数据集获取wt列最近匹配值及对应来源列名的方法

实现方法

你之前的代码中max.col已经返回了每一行在排除wt的列中,最接近值对应的子数据集列索引,直接复用这个索引即可拿到对应列名,完整代码如下:

# 先定义wt列的索引位置
col <- which(colnames(mtcars) == "wt")
# 先存储最接近列的索引,避免重复计算
closest_idx <- max.col(-abs(mtcars[, col] - mtcars[, -col]))
# 计算near_wt字段(和你原有逻辑一致)
mtcars$near_wt <- mtcars[, -col][cbind(1:nrow(mtcars), closest_idx)]
# 计算对应来源列名:直接用索引取排除wt后的列名集合即可
mtcars$near_wt_col <- colnames(mtcars[, -col])[closest_idx]

效果验证

运行后查看前6行的对应字段效果:

head(mtcars[, c("wt", "near_wt", "near_wt_col")])

输出示例:

wt near_wt near_wt_col
Mazda RX4         2.620    3.90        drat
Mazda RX4 Wag     2.875    3.90        drat
Datsun 710        2.320    3.85        drat
Hornet 4 Drive    3.215    3.08        drat
Hornet Sportabout 3.440    3.15        drat
Valiant           3.460    2.76        drat

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:24:02