【发布时间】:2021-02-26 07:15:08
【问题描述】:
我有一个这样的矩阵:
a <- c(0,45,19,48,28,19,0,0,62,3,61,62,0,0,0,63,29,0,0,0,0,0,62,63,0,0,0,0,0,29,0,0,0,0,0,0)
mat1 <- matrix(a,6,6,byrow = TRUE)
mat1
> mat1
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 45 19 48 28 19
[2,] 0 0 62 3 61 62
[3,] 0 0 0 63 29 0
[4,] 0 0 0 0 62 63
[5,] 0 0 0 0 0 29
[6,] 0 0 0 0 0 0
现在,如果任何单元格的值小于 30,则表示相应的行和列相同/相似。例如 [1,3] 是 19,因此我们说它们是相似的。
所以对于每一行,我们计算相似的组合(即单元格中少于 30 个)。
第 1 行:[1,3],[1,5],[1,6]
第 2 行:[2,4]
第 3 行:[3,6]
第 4 行:0
第 5 行:[5,6]
第 6 行:0
所以总的相似组合是[1,3]、[1,5]、[1,6]、[2,4]、[3,6]和[5,6]。结果应该显示没有传递项目的总相似组合,这意味着总相似项目应该只有 2 因为 [1,3] , [1,5] , [1,6] , [5,6],[3, 6] 是相同/相似的,所以这些的计数应该是 1,组合 [2,4] 应该是 1。因此,对于这个矩阵,总相同/相似是 2。
有多个 nxm 阶矩阵,因此所需的解决方案应该根据行数和列数是动态的。
【问题讨论】:
-
我已多次阅读问题陈述,但无法弄清楚为什么 [1,3] 、 [1,5] 、 [1,6] 、 [5,6] 来自一个组和 [2,4] 在另一个组中,为什么没有提到 [3,6]。
-
已添加 [3,6] 。之前错过了
-
但是您仍然没有回答主要问题。
-
[1,3] , [1,5] , [1,6] , [5,6],[3,6] 都来自一个组,因为它们本质上是传递性的。假设 1==3 ,1==5 和 1==6 因此 3 将等于 6 而 5 将等于 6
-
您使用“及物”这个词的方式似乎与我以前看到的不同。
标签: r