Изолированные узлы в выводе quanteda :: textplot_network () и как их удалить / удалить - PullRequest
0 голосов
/ 12 января 2019

Данные Твиттера анализируются путем составления авторских дескрипторов (@mentions) с использованием функции textplot_network () в quanteda (v1.3.4). Однако на графике также показаны некоторые изолированные (не связанные) узлы.

Хотелось бы узнать, так ли это, потому что другой дескриптор автора (@mention) не встречается с одним из таких узлов на основе частоты, установленной в вызове функции. Также есть способ удалить их из матрицы сопутствующих частот (fcm), чтобы они не отображались на графике.

require(data.table)
require(quanteda)
require(stringr)

not_clause_1 <- fread("final_query_output.csv", header = TRUE, skip = 0L, 
stringsAsFactors = FALSE, select = c("Date","Full Text","Page 
Type","Country", "Gender", "Author","Author City","Author Country","Author 
State","City","County","Topics"))

setnames(not_clause_1, c("Page Type", "Full Text", "Author Country", 
"Author State", "Author City"), c("Page_Type", "Full_Text", 
"Author_Country", "Author_State", "Author_City"))

corpus1 <- corpus(not_clause_1$Full_Text, docnames = 
paste(not_clause_1$Author, not_clause_1$idx, sep = "(")) ## using 
quanteda's corpus

tokens1 <- quanteda::tokens(tolower(corpus1), what = "word", remove_numbers 
= TRUE, remove_punct = TRUE, remove_symbols = TRUE, remove_separators = 
TRUE, remove_url = TRUE, remove_hyphens = TRUE)

tokens1 <- tokens_remove(tokens1, stopwords("english"))

set.seed(12345)
mydfm <- dfm(tokens1, tolower = TRUE)

mentions_dfm <- dfm_select(mydfm, pattern = "@*") ## select only the author 
handles beginning with @ ##
mentions_fcm <- fcm(mentions_dfm)
top_mention_names <- names(topfeatures(mentions_dfm, min(150, 
length(featnames(mentions_dfm)))))
topmention_fcm <- fcm_select(mentions_fcm, pattern = top_mention_names, 
selection = "keep")

size <- log(colSums(fcm_select(topmention_fcm, top_mention_names)))

textplot_network(topmention_fcm, vertex_size = size/max(size)*3, edge_color 
= "blue", edge_alpha = 0.8, edge_size = 3, omit_isolated = TRUE)

Как описано в кратком изложении проблемы, я хотел бы знать, как некоторые авторы, например: @moonbow_living рисунок в fcm без каких-либо связанных узлов, а также, если есть способ удалить их из fcm непосредственно перед вызовом texplot_network ( ).

Добавлена ​​ссылка для загрузки базы данных и сетевого графика с изолированными узлами: справочные файлы

...