如何在R中绘制完整的图形?

时间:2014-08-21 19:20:10

标签: r graph

我想在R中绘制完整的图表。

我该怎么做?我发现CRAN上只有一个包具有生成完整图形的功能。但是这个包,即" RnavGraph",没有安装但退出时出现错误状态。进一步搜索似乎很困难,因为图的不同含义不是与图结构相关联的,而是与图有关。

如何在R中绘制complete graph

PS: 但是当我尝试安装" RnavGraph"时出现以下错误:

ERROR: dependencies ‘graph’, ‘RBGL’ are not available for package ‘RnavGraph’
* removing ‘/home/steve/R/x86_64-unknown-linux-gnu-library/3.0/RnavGraph’

The downloaded source packages are in
    ‘/tmp/RtmpIW4p30/downloaded_packages’
Warning message:
In install.packages("RnavGraph") :
  installation of package ‘RnavGraph’ had non-zero exit status

1 个答案:

答案 0 :(得分:6)

使用igraph。这是一个简单的方法:

library(igraph)

CompleteGraph <- function(n) {
  myEdges <- combn(1:n,2)
  myGraph <- graph(myEdges, directed=FALSE)
  return(myGraph)
}

myGraph <- CompleteGraph(10)

plot(myGraph)

igraph包可让您从边列表中创建图表。在这种情况下,我使用combn生成了向量1:n中两个数字的所有唯一组合。当我将其提供给graph函数时,它会创建一个图表,其中每个节点都连接到每个其他节点。我设置了directed=false,因此在绘制图表时箭头不会显示。 igraph函数将图形绘制添加到plot函数,因此可以如上绘制新创建的图形。 (这比输入plot.igraph

更容易