2017-12-16 2 views
0

Ich benutze die TwitteR-Bibliothek. Meine Aufgabe besteht darin, ein Diagramm zu erstellen, bei dem Scheitelpunkte die Benutzernamen sind. Wenn sich zwei Benutzer am selben Ort befinden, entsteht eine Kante zwischen ihnen. Dies ist der Code, den ich verwendet, um die Benutzer zu sammelntwitteR - Konstruieren einer Grafik von Benutzern basierend auf ihrer Position

search_result <- searchTwitter("#my_hashtag", 500) 
tags <- twListToDF(search_result) 
users <- tags$screenName 
df <- twListToDF(lookupUsers(users)) 

Ich bin neu in R, so nehme ich an diese Aufgabe sehr einfach ist, aber mir fehlt die Syntax, die Paare von Benutzern zu erzeugen, die die Kanten darstellen des Graphen.

Ihre Hilfe wird geschätzt! :)

Danke.

Antwort

0

Nach einer Weile denke ich, das ist der einfachste Ansatz. Ich folge Ihrem Beispiel vom letzten Punkt. Der nächste Schritt besteht darin, nur mit dem Namen und dem Standort des Benutzers zu bleiben. Wir werden "dplyr" verwenden, um die notwendige Editierlistenmatrix zu erstellen, loops auf FALSE setzen, um Schleifen in Graph zu vermeiden, und ich setze auch directed = FALSE, das Gegenteil macht keinen Sinn. Sobald wir es keines der Pakete availables getan haben, können Sie die Grafik erstellen verwendet werden:

library(tidyverse) 
library("statnet") 
p <- df[,c("name", "location")] 

inner_join(p,p, by="location") %>% 
    select(name.x, name.y) -> gr 

n <- network(gr, matrix.type="edgelist", loops = F, directed = F) 
gplot(n,usearrows = F) 

Ich habe nur ein paar Benutzer, zusätzlich zu mir, um das Netzwerk einfach. Zwei miteinander verbunden sind und eine andere nicht ist:

enter image description here

HTH!

Verwandte Themen