在kCliques
中运行RBGL
后,我有一个由派系及其成员组成的列表。
我希望从kCliques
创建的列表对象构建一个逐个clique矩阵。
举个例子:
con <- file(system.file("XML/snacliqueex.gxl",package="RBGL"))
coex <- fromGXL(con)
close(con)
kcl <- kCliques(coex)
导致
kcl<-structure(list(`1-cliques` = list(c("1", "2", "3"), c("2", "4"),
c("3", "5"), c("4", "6"), c("5", "6")), `2-cliques` = list(
c("1", "2", "3", "4", "5"), c("2", "3", "4", "5", "6")),
`3-cliques` = list(c("1", "2", "3", "4", "5", "6"))),
.Names = c("1-cliques", "2-cliques", "3-cliques"))
kcl
是一个列表,其中元素是表示clique成员的字符向量。
我希望构建一个逐个clique矩阵,其中cell i,j表示节点i是否是clique j的成员。
答案 0 :(得分:0)
以下是一些应该有效的转换
#remove one level of nesting
x <- do.call("c", kcl);
#assign number to each cliqeq
xx <- do.call("rbind", Map(function(x,y) data.frame(x,y), x, seq_along(x)));
#track participation
xtabs(~x+y, xx)
给出了
y
x 1 2 3 4 5 6 7 8
1 1 0 0 0 0 1 0 1
2 1 1 0 0 0 1 1 1
3 1 0 1 0 0 1 1 1
4 0 1 0 1 0 1 1 1
5 0 0 1 0 1 1 1 1
6 0 0 0 1 1 0 1 1