問題が発生しました。
次のような風景があります。
# Create a graph
g1 <- graph.full(5)
V(g1)$name <- letters[1:vcount(g1)]
V(g)
Vertex sequence:
[1] "a" "b" "c" "d" "e"
# Contract vertex "a" and "b"
vec = c(1,1,2,3,4)
contract_1 <- contract.vertices(g1, vec, vertex.attr.comb=toString)
V(contract_1)
Vertex sequence:
[1] "a, b" "c" "d" "e"
# Contract vertex "a, b" and "c"
vec = c(1,1,2,3)
contract_2 <- contract.vertices(contract_1, vec, vertex.attr.comb=toString)
V(contract_2)
Vertex sequence:
[1] "a, b, c" "d" "e"
など... (「a、b、c」と「d」をコントラクトし、頂点「a、b、c、d」を作成)
前のレベルの頂点を区別する必要があります。
例えば。:
頂点 "a, b " および "c" を縮小することにより、"|" として追加のマークアップを使用する必要があります。また ";"。この場合、結果は "a, b | c" または "a, b- c" または "a, b; c" になります。
頂点 "a, b, c" と "d" を縮約すると、結果は "a, b, c | d" または "a, b, c; d" になります。
私はいくつかのことを試しました...
例えば。:
g <- contract.vertices(g, matching,
vertex.attr.comb=list(name=function(x) paste(toString(x,"",sep=";"))))
ただし、動作しません