基于中心性度量绘制 Igraph 对象

Plotting Igraph object based on centrality measure

我有一个使用以下代码计算的图表和中心性度量,我如何使用计算出的中心性度量来处理该图表。该图像描述了我的图表的外观,我希望具有最大中心性的节点应该比其他节点更大

r_stats_text_corpus <- Corpus(VectorSource(data1))
r_stats_text_corpus <- tm_map(r_stats_text_corpus, content_transformer(tolower))
r_stats_text_corpus <- tm_map(r_stats_text_corpus, stripWhitespace)
r_stats_text_corpus <- tm_map(r_stats_text_corpus, removePunctuation)
tdm <- TermDocumentMatrix(r_stats_text_corpus,control = list(wordLenghts = c(1,Inf)))
tdm2 <- removeSparseTerms(tdm, sparse = 0.994)
m2 <- as.matrix(tdm2)
m2[m2>=1] <- 1
m2 <- m2 %*% t(m2)  ##Adjaceny Matrix
g <- graph.adjacency(m2, weighted=T, mode = "undirected")
g <- simplify(g)
plot(g)

# Centrality Measures computed 
betweenessCentrality <- betweenness(g)
ec <- eigen_centrality(g)
ec$vector
degreedistribution <- degree.distribution(g)

这是正在使用的一段文本数据

data1 <- c("RT @mashable: The first Miss America was a 16-year-old high schooler: on.mash.to/24M91OG #IWD2016 pic.twitter.com/eFgPOYi3WI",
"RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H",
"RT @CathyBessant: #Womenintech enjoy their careers, yet gender parity persists. We must change the status quo. #IWD2016 pic.twitter.com/RJA473AG6k",
"RT @ArianaGrande: happy international women's day! ..... I mean week....... I mean month...... I mean year....... I mean life.....  ??",
"RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H",
"RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H",
"RT @NobelPrize: Women who changed the world: facebook.com/nobelprize/vid… #InternationalWomensDay #IWD2016 pic.twitter.com/PalpfyPmux",
"Happy International Women's Day. Must every woman know her strength, beauty, and light. We are warriors. ?????????????? pic.twitter.com/JR1iuwAlkD",
"RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H")

你可以

data1 <- c("RT @mashable: The first Miss America was a 16-year-old high schooler: on.mash.to/24M91OG #IWD2016 pic.twitter.com/eFgPOYi3WI", "RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H", "RT @CathyBessant: #Womenintech enjoy their careers, yet gender parity persists. We must change the status quo. #IWD2016 pic.twitter.com/RJA473AG6k", "RT @ArianaGrande: happy international women's day! ..... I mean week....... I mean month...... I mean year....... I mean life..... ??", "RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H", "RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H", "RT @NobelPrize: Women who changed the world: facebook.com/nobelprize/vid… #InternationalWomensDay #IWD2016 pic.twitter.com/PalpfyPmux", "Happy International Women's Day. Must every woman know her strength, beauty, and light. We are warriors. ?????????????? pic.twitter.com/JR1iuwAlkD", "RT @Harry_Styles: Happy International Women's Day. I hope it was a wonderful one. H")
library(tm)
library(igraph)
set.seed(1)

r_stats_text_corpus <- Corpus(VectorSource(data1))
r_stats_text_corpus <- tm_map(r_stats_text_corpus, content_transformer(tolower))
r_stats_text_corpus <- tm_map(r_stats_text_corpus, stripWhitespace)
r_stats_text_corpus <- tm_map(r_stats_text_corpus, removePunctuation)
tdm <- TermDocumentMatrix(r_stats_text_corpus,control = list(wordLenghts = c(1,Inf)))
tdm2 <- removeSparseTerms(tdm, sparse = 0.994)
m2 <- as.matrix(tdm2)
m2[m2>=1] <- 1
m2 <- m2 %*% t(m2)  
g <- graph.adjacency(m2, weighted=T, mode = "undirected")
g <- simplify(g)
bc <- betweenness(g)
ec <- eigen_centrality(g)

coords <- layout.auto(g)
par(mfrow = c(1,2))
plot(
  g, 
  layout = coords, 
  vertex.size = log(bc+1L)+2L, 
  vertex.label.cex = plotrix::rescale(bc, c(.7, 2))
)
plot(
  g, 
  layout = coords, 
  vertex.size = ec$vector*10L, 
  vertex.label.cex = plotrix::rescale(ec$vector, c(.7, 2))
)