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

如何在R中按行名列名求和矩阵中行列名不匹配的元素?

在R中对矩阵行名与列名不匹配的元素求和

步骤1:构造目标矩阵

先把你给出的矩阵在R中还原:

mat <- matrix(
  data = c(1, 31, 7, 0, 1, 3590),
  nrow = 3,
  dimnames = list(
    rownames = c("aa", "Aa", "AA"),
    colnames = c("Aa", "AA")
  )
)

步骤2:筛选并求和不匹配元素

利用outer()函数生成行名与列名是否相等的逻辑矩阵,取反后作为索引提取对应元素,再求和:

# 生成行名≠列名的逻辑索引
mismatch_pos <- outer(rownames(mat), colnames(mat), function(x, y) x != y)

# 对不匹配位置的元素求和
sum(mat[mismatch_pos])

运行这段代码会得到结果9,和你预期的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:22:33