使用R中的Statnet包导入加权邻接矩阵

时间:2014-09-25 15:15:06

标签: r social-networking sna statnet

我试图在Unix服务器上使用bipartite和statnet套件(由网络,sna和其他几个软件包组成)分析R中2模式网络的加权1模式投影。使用二分和矩阵代数的混合投影很好,但是当我尝试将值矩阵作为加权网络对象导入时,使用下面的代码,我似乎松开了原始矩阵中的值。

MNDocnet<-as.network(MNDocmatrix,matrix.type="adjacency",directed=FALSE, hyper=FALSE, loops=TRUE, multiple=FALSE, bipartite = FALSE, ignore.eval=FALSE, names.eval="patients")

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

如果没有您的数据结构,很难确切地知道,但该语法对我来说是正确的。这是一个例子

制作样本输入数据

> adjmat<-matrix(c(0,1,2,3,0,4,5,6,0),ncol=3)
> adjmat
     [,1] [,2] [,3]
[1,]    0    3    5
[2,]    1    0    6
[3,]    2    4    0

将矩阵转换为网络对象

> test<-as.network(adjmat,matrix.type='adjacency',ignore.eval=FALSE,names.eval='sample')

打印名为'sample'

的属性的边缘值
> test%e%'sample'
[1] 1 2 3 4 5 6

请注意,如果要将其转换回有价值的矩阵,则需要为其提供提供值的属性的名称:

> as.matrix(test)
  1 2 3
1 0 1 1
2 1 0 1
3 1 1 0

VS

> as.matrix(test,attrname='sample')
  1 2 3
1 0 3 5
2 1 0 6
3 2 4 0