【发布时间】:2016-05-22 13:15:00
【问题描述】:
我有一个边列表,我想在其中提取 开放 三角形,这意味着如果:A 知道 B 并且 B 知道 C,但 C 与 A 的关系未在图中捕获。
有没有办法在 R 中提取它?我知道你可以用普通三角形做到这一点,但我想知道你是否可以提取空三角形。
我在 R 中创建了一个网络图,其边缘列表如下所示:
structure(list(ego = c(323L, 174L, 174L, 174L, 174L, 174L, 174L,
174L, 174L, 174L, 428L, 428L, 428L, 428L, 428L, 428L, 428L, 428L,
364L, 364L, 364L, 364L, 364L, 364L, 364L, 364L, 422L, 422L, 422L,
422L, 422L, 422L, 422L, 422L, 329L, 329L, 329L, 329L, 329L, 329L,
329L, 329L, 31L, 31L, 31L, 31L, 31L, 31L, 31L, 31L, 330L, 330L,
330L, 330L, 330L, 330L, 330L, 330L, 415L, 428L), alter = c(174L,
323L, 428L, 364L, 422L, 329L, 31L, 330L, 415L, 392L, 174L, 364L,
422L, 329L, 31L, 330L, 415L, 392L, 174L, 428L, 422L, 329L, 31L,
330L, 415L, 392L, 174L, 428L, 364L, 329L, 31L, 330L, 415L, 392L,
174L, 428L, 364L, 422L, 31L, 330L, 415L, 392L, 174L, 428L, 364L,
422L, 329L, 330L, 415L, 392L, 174L, 428L, 364L, 422L, 329L, 31L,
415L, 392L, 174L, 323L), advice_tie = c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L)), .Names = c("ego", "alter", "advice_tie"
), class = "data.frame", row.names = c(NA, -60L))
我在 R 中创建了如下网络图:
edges2 <- graph.data.frame(edges)
edges3 <- as.undirected(edges2, mode='collapse')
summary(edges3)
plot(edges3)
edges
这是 edge3 变为无向后的样子:
IGRAPH UN-- 10 37 --
+ attr: name (v/c)
+ edges (vertex names):
[1] 323--174 323--428 174--428 174--364 428--364
[6] 174--422 428--422 364--422 174--329 428--329
[11] 364--329 422--329 174--31 428--31 364--31
[16] 422--31 329--31 174--330 428--330 364--330
[21] 422--330 329--330 31 --330 174--415 428--415
[26] 364--415 422--415 329--415 31 --415 330--415
[31] 174--392 428--392 364--392 422--392 329--392
[36] 31 --392 330--392
所需的输出(因为在这种情况下,只有 323 和 392 不连接到除 428 之外的所有其他东西):
415 174 323
31 174 323
422 174 323
329 174 323
364 174 323
392 174 323
330 174 323
31 415 392
422 415 392
329 415 392
364 415 392
392 415 392
330 415 392
428 415 392
174 415 392
我希望这是有道理的!谢谢
【问题讨论】:
-
如果我复制您的
edges数据并像您一样进行转换,edges3看起来不像您的结果。您是否粘贴了完整版的边缘?或者你使用了head? -
粘贴
dput对象的edges结果将是最好的。 -
@Psidom 只是对其进行了更改以使其更易于复制。谢谢!
-
您也可以在此处粘贴您之前提出的问题的所需输出,以便我们进行比较。
-
@Psidom 感谢您的反馈。稍微更改了数据以使其更有意义。这个概念对你有意义吗?