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

R语言dataframe中查找特定值对应行名与列名的更优实现方法

R查找DataFrame指定值对应行列名的优化方案

你可以直接使用which()函数的arr.ind = TRUE参数一步获取匹配位置的行列索引,比你当前两次计算行列和的写法更简洁,对大表的计算效率也更高:

# 一步获取匹配位置的行列索引
match_pos <- which(df == 5, arr.ind = TRUE)
# 拼接输出结果
paste("row:", rownames(df)[match_pos[, "row"]], "column:", colnames(df)[match_pos[, "col"]])

运行后直接得到你需要的输出:row: 200 column: b

如果偏好单行写法也可以直接合并为:

paste("row:", rownames(df)[(p <- which(df == 5, T))[,"row"]], "column:", colnames(df)[p[,"col"]])

该方案还天然支持目标值多次出现的场景,会自动返回所有匹配位置对应的行列名。

内容的提问来源于stack exchange,提问作者U13-Forward

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:15:08