我在R中使用table()命令创建了一个矩阵,其中行和列没有相同的值。

       0   1   2
  1    1   2   3
  2    4   5   6
  3    7   7   8


如何对具有相同行和列名称的元素求和?在此示例中,它等于(2 + 6 =)8。

最佳答案

这是一种方法:

# find the values present in both row names and column names
is <- do.call(intersect, unname(dimnames(x)))

# calculate the sum
sum(x[cbind(is, is)])


其中x是您的表。

10-06 10:44