文本挖掘:社交网络、社群划分
g10?<-?graph_from_adjacency_matrix(adjm,?weighted=TRUE,?add.rownames="row",add.colnames="col")?? 代码解读:adjm是随便构造的一个矩阵,函数; graph_from_adjacency_matrix中, weighted=TRUE,是否需要加入权重; add.rownames以及add.colnames,因为前面的自编译函数init.igraph可以自定义标签,这里定义名称,可以用add.rownames加入标签列,这样你可以用V(g10)$row以及V(g10)$col直接看到标签。其中还可以自己定义名字,row,col都是笔者自己定义的。 三、一些基本操作关系网络中,每一个点的信息存放在V中,每一个线的信息存放在E中。并且通过自编译的init.igraph函数,V(g)$label以及E(g)$weight都是自带的属性。 可以生成一个空的关系网络。 并且关系网络生成之后,R里面就不是用真实的名字来做连接,是采用编号的。例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号上。
1、关系网络中的点集V点集就是网络中所有的点,如有向文本型那个数据格式,包括了14个点;7条线。 (1)点集属性点集与数据框的操作很相似,属性是可以自己赋上去的,比如V(g)$label就是赋上去的,你还可以给点集加上颜色(V(g)$color)、加上每个点的尺寸(V(g)$size),加上分类(V(g)$member) 点集的选择跟数据框操作一样,比如我要选择群落为1的点集,就是V(g)[which(V(g)$member==1)] 比如我要选择点度数大于1的点集,V(g)[degree(g)>1] 如果我想知道一下这两个点之间是否有关系,可以用edge.connectivit函数,edge.connectivity(g,4,9) ?代表着第四个点与第九个点之间是否有连接关系。返回的0/1。0是没有线,1代表有线。 (2)点集加减操作我想在原来的基础上加入一些点,用add.vertices
如果我想减去点度数为0的点
|