R语言矩阵操作:根据值找到行号和列号

### 1.生成示例矩阵
P <- matrix(c(3:14), nrow = 4, byrow = TRUE,
            dimnames = list(paste0("row",1:4), paste0("col",1:3)))

### 2. 得到符合条件值的索引号(一维)
# P[P>6] 同 P[which(P>6)] # 返回值

index <- which(P>10) # 符合条件值的索引

### 3. 根据矩阵转把一维索引号换为矩阵的行号和列号
row_num <- dim(P)[1]
row_name <- rownames(P)
col_name <- colnames(P)

# %% 取余数
hit_row_names <- row_name[ifelse(index%%row_num,index%%row_num,row_num)]
hit_col_names <- amp_samples <- col_name[ceiling(index/row_num)]

# 打印出符合条件的值以及所在的行列名
for (i in 1:length(hit_row_names)){
  print(hit_row_names[i])
  print(hit_col_names[i])
  print(P[hit_row_names[i],hit_col_names[i]])
  print("=======")
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值