【问题标题】:How to draw the Gaussian graphical model in R如何在R中绘制高斯图模型
【发布时间】:2012-04-30 13:31:11
【问题描述】:

我已经得到了相关系数矩阵R,和偏相关系数矩阵Rp,那么如何在R中绘制高斯图模型呢?

如果推荐一些关于高斯图模型的书籍介绍就更好了,确实不知道是什么,但我首先要做的就是把它画出来。非常感谢!

#the Correlation coefficient matrix
R=c(1,0.55,0.55,0.41,0.39,0.55,1,0.61,0.49,0.44,0.55,0.61,1,0.71,
0.66,0.41,0.49,0.71,1,0.61,0.39,0.44,0.66,0.61,1)
dim(R)=c(5,5)

#the Partial correlation coefficient matrix
library("corpcor") 
Rp=cor2pcor(R)

那我怎么才能画出高斯图模型呢?

【问题讨论】:

    标签: r model correlation gaussian


    【解决方案1】:

    我不熟悉“高斯图形模型”这个术语,尽管我觉得我应该熟悉(我会继续阅读,谢谢)。

    但是要可视化(部分)相关矩阵,您可以使用 qgraph 包,它就是为此而设计的。例如:

    library("qgraph")
    qgraph(round(Rp,5),edge.labels=TRUE)
    

    使用graph 参数内置计算偏相关:

    qgraph(round(R,5),edge.labels=TRUE,graph="concentration")
    

    给出相同的结果。

    【讨论】:

    • 我未能获得包“qgraph”:library.dynam(lib, package, package.lib) 中的错误:您需要 DLL'plyr'
    • 通过 CRAN 安装应该也会自动安装 plyrinstall.packages("qgraph",dep=TRUE)。确保您的 R 版本是最新的 (2.15)。
    【解决方案2】:

    如果要绘制对应的图形,可以使用igraph包。

    library(igraph)
    g <- graph.adjacency( abs(Rp)>.1, mode="undirected", diag=FALSE )
    plot(g, layout=layout.fruchterman.reingold)
    

    【讨论】:

    • 否则你将永远有一个完整的图表,这是相当缺乏信息的。或者,当相关性较低时,可以使用较暗的颜色,如 Sacha 的回答。
    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2015-07-19
    • 1970-01-01
    相关资源
    最近更新 更多