我有一个名为equalityMatrix
的矩阵MPI_Win_unlock()
(让你的:)
> equalityMatrix
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18]
[1,] 29 29 29 29 55 55 55 55 101 101 101 111 111 115 134 134 134 151
[2,] 101 111 115 316 134 151 235 319 111 115 316 115 316 316 151 235 319 235
[,19] [,20]
[1,] 151 235
[2,] 319 319
这表示元素29等于元素101,111,115和316;元素55等于元素134,151,235和319;等等。
如何有效获取如下所示的相等元素列表?
structure(c(29L, 101L, 29L, 111L, 29L, 115L, 29L, 316L, 55L,
134L, 55L, 151L, 55L, 235L, 55L, 319L, 101L, 111L, 101L, 115L,
101L, 316L, 111L, 115L, 111L, 316L, 115L, 316L, 134L, 151L, 134L,
235L, 134L, 319L, 151L, 235L, 151L, 319L, 235L, 319L), .Dim = c(2L,
20L))
我最终会使用此命令的输出来创建映射。这些值本质上是属于同一组的元素的索引。
答案 0 :(得分:5)
考虑到这一点的一种方法是图形,其中每个数字是图形中的节点,并且在列中共同出现的两个数字意味着与这两个数字相关联的顶点共享图形中的边缘。对于您的示例,我们可以使用igraph包来创建包含您的数据的图表:
html
图表的组成部分将是相同的数字:
library(igraph)
g <- graph.data.frame(t(equalityMatrix))
plot(g)
答案 1 :(得分:1)
这样的事情:
function span1(left1, width, id, color11) {
if (id == 1) {
var sum = 0;
if (sum < width)
sum = width;
width5 = left1 + sum;
console.log(width);
} else if (id == 2) {
var sum2 = 0;
left1 = width5;
if (sum2 < width)
sum2 = width;
width1 = left1 + sum2;
} else if (id == 3) {
var sum1 = 0;
if (sum1 < width)
sum1 = width;
left1 = width1;
width2 = sum1 + left1;
} else if (id == 4) {
left1 = width2;
width3 = left1 + width;
} else {
left1 = width3;
}