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

R语言10×10矩阵函数问题求助:提取元素1的索引矩阵

你的R函数问题分析与修复方案

嘿,我帮你揪出代码里的关键问题啦!咱们一步步来看:

核心问题点

  • 完全忽略了输入参数:你在函数内部第一行写了a <- matrix(sample(0:1, 100, replace = T), ncol=10),这直接把用户传入的10×10矩阵给覆盖了,函数反而自己生成了一个随机的0-1矩阵,这肯定不符合“输入为给定矩阵”的要求呀!
  • 判断条件可以更直观:用a==T虽然能运行,但因为矩阵元素明确是0和1,写成a==1语义上更准确,也更容易理解。

修复后的代码

ans <- function(A){ 
  # 直接使用传入的矩阵A,不再重新生成随机矩阵
  ok <- which(A == 1, arr.ind = TRUE) 
  return(ok) 
}

测试验证

咱们用一个手动构造的测试矩阵来验证效果:

# 创建测试用的10×10矩阵,手动设置几个值为1的元素
test_matrix <- matrix(0, nrow=10, ncol=10)
test_matrix[2,3] <- 1
test_matrix[5,7] <- 1
test_matrix[9,1] <- 1

# 调用修复后的函数
ans(test_matrix)

运行后会返回符合要求的索引矩阵:

row col
[1,]   2   3
[2,]   5   7
[3,]   9   1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:22:55