计算R中的度、贴近度和介数

计算R中的度、贴近度和介数,r,social-networking,igraph,sna,R,Social Networking,Igraph,Sna,我有一个数据表,它由论坛中同一个帖子中的用户名称组成,如下所示: X1-X2 1.g79吉安 2.g79格雷拉克 3.g79 oldskoo1 我需要计算度、贴近度和介数。我正在使用以下代码: library(igraph) setwd("/Volumes/NATASHKA/api/R files") load("edgelist_one_mode.rda") load("map.rda") load ("result.rda") el <- as.matrix(whatwewant) e

我有一个数据表,它由论坛中同一个帖子中的用户名称组成,如下所示: X1-X2 1.g79吉安 2.g79格雷拉克 3.g79 oldskoo1

我需要计算度、贴近度和介数。我正在使用以下代码:

library(igraph)
setwd("/Volumes/NATASHKA/api/R files")
load("edgelist_one_mode.rda")
load("map.rda")
load ("result.rda")
el <- as.matrix(whatwewant)
el[,1] <- as.character(el[,1])
el[,2] <- as.character(el[,2])
g <- graph.data.frame(el, directed=FALSE)
plot(g, edge.arrow.size=.5)
indegreeG <- degree(g, mode="in")
outdegreeG <- degree(g, mode="out")
totaldegreeG <- degree(g)
inclosenessG <- closeness(g, mode='in')
outclosenessG <- closeness(g, mode='out')
totalclosenessG <- closeness(g)
betweennessG <- betweenness(g)
forumG <- data.frame(V(g)$name, indegreeG, outdegreeG, totaldegreeG, inclosenessG,    outclosenessG, totalclosenessG, betweennessG)
write.table(forumG,file="forumG.csv",sep=";")
库(igraph)
setwd(“/Volumes/NATASHKA/api/R文件”)
加载(“edgelist\u one\u mode.rda”)
加载(“map.rda”)
加载(“result.rda”)

el之所以得到相同的in degree、out degree和total degree值,是因为您正在使用
graph.data.frame(el,directed=FALSE)
创建一个无向网络。 在无向网络中,从一个节点到另一个节点的链路数是相同的,它们都等于全局度

如果你想要一个定向网络,你需要做
graph.data.frame(el,directed=TRUE)
。 它将创建一个定向网络,其中数据帧第一列中的id是发送tie的节点的id,第二列中的id表示接收该tie的节点

至于失去节点,我的猜测是,当您将双模网络转换为一种模式时,您可能会遇到一些从未与任何人交互的人,因此会迷失方向(我假设您会这样做,但由于您的行:
load(“edgelist\u one\u mode.rda”)


如果没有一个可重复的示例,我想这就是我能从您的代码中推断出的全部内容。

使用
dput
包含一些示例数据。告诉我们你用的是什么软件包。没有软件包很难帮助你。对于你的第一个问题,如果你有一个环形结构,你可以得到相同数量的入、出和所有度。i、 e
g@Thomas它是
igraph
package。我编辑OP以添加它。