Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于二部网络边列表中的公共顶点创建新边列表_R_Graph Theory_Edge List - Fatal编程技术网

R 基于二部网络边列表中的公共顶点创建新边列表

R 基于二部网络边列表中的公共顶点创建新边列表,r,graph-theory,edge-list,R,Graph Theory,Edge List,我有一个包含两组节点的边列表,如下所示: edgelist <- data.frame(from = sample(letters, 1000, replace = T), to = sample(1:50, 1000, replace = T)) edgelist首先,请注意,您可能希望将示例edgelist包装到一个unique()调用中,以避免重复的边 如果我理解的很好,你可以用一个简单的自连接来解决你的问题(尽管在中可能有一个更有效

我有一个包含两组节点的边列表,如下所示:

edgelist <- data.frame(from = sample(letters, 1000, replace = T), 
                       to = sample(1:50, 1000, replace = T))

edgelist首先,请注意,您可能希望将示例
edgelist
包装到一个
unique()
调用中,以避免重复的边

如果我理解的很好,你可以用一个简单的自连接来解决你的问题(尽管在中可能有一个更有效的开箱即用的方法)。例如,使用
dplyr

library(dplyr)

letters_edges <- edgelist %>%
  left_join(edgelist, by = "to") %>%
  select(from.x, from.y) %>%
  unique %>%
  filter(from.x < from.y)
库(dplyr)
字母和边缘%
左联合(edgelist,by=“to”)%%>%
选择(从.x,从.y)%>%
唯一%>%
过滤器(从.x<从.y)