【发布时间】:2013-06-05 13:13:25
【问题描述】:
我有一个数据表,其中包含在论坛的同一线程中发帖的用户的姓名,它看起来像这样: 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=";")
问题是为什么我的入度、出度和总度的值相同,而接近度的值相同?此外,一开始我有41213个用户,但经过分析(当我计算度数等时)我只有37874个。我怎么会失去这么多的观察?如果我的代码有错误,请告诉我。
谢谢
【问题讨论】:
-
使用
dput包含一些示例数据。并告诉我们您正在使用哪些软件包。 -
如果没有reproducible example,很难为您提供帮助。对于您的第一个问题,例如,如果您有一个环形结构,您就会得到相同数量的入、出和所有度数。即
g <- - graph.ring(10). -
@Thomas 它是
igraph包。我编辑 OP 以添加它。
标签: r social-networking igraph sna