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

在R语言中如何获取数组内等于指定值元素的多维索引?

R语言多维数组特定值的多维索引获取方法

你只需要给which()函数添加arr.ind = TRUE参数即可直接得到多维索引格式的结果,具体代码如下:

# 获取所有值为100的元素的多维索引,返回矩阵格式,每行对应一组索引
idx_matrix <- which(RFO_2003 == 100, arr.ind = TRUE)

返回的idx_matrix是n行4列的矩阵,n等于符合条件的元素总数,每一行的4个值分别对应数组四个维度的下标,就是你需要的[8, 20, 3, 6]类格式。

如果需要直接输出你举例的字符串格式的索引列表,可追加以下代码:

output_idx <- apply(idx_matrix, 1, function(row) {
  paste0("[", paste(row, collapse = ", "), "]")
})
# 打印输出结果
cat(paste(output_idx, collapse = ", "))

补充说明:

  • 该方法返回的索引顺序和你之前用which(RFO_2003 == 100)得到的线性索引完全一一对应,不存在匹配偏差问题
  • 抽检验证时可直接用索引取值校验,示例:取第一个符合条件的元素验证值是否为100:RFO_2003[idx_matrix[1,1], idx_matrix[1,2], idx_matrix[1,3], idx_matrix[1,4]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:57:01