Categories

Archives

Billet

Twitter et le réseau

Billet publié le 06/03/2011

Je voulais réussir à savoir qui “followe” qui, parmi les personnes que je “followe” sur twitter, notamment afin de savoir s’il existe des personnes qui, suivies par nombre des personnes dont je lis la prose, pourraient m’intéresser.
A la fin de ma réflexion, pour l’instant parcellaire, voici ce que j’arrive à produire :

Pour produire cela, le code est assez simple (mais pas vraiment, en fait). Je le reproduis ci-dessous. Le principal problème est lié au fait que les comptes “privés” causent une erreur (« Erreur dans twFromJSON(out) : Error: Not authorized »). Et R ne gère pas encore le protocole utilisé par twitter pour se connecter, OAuth…

Dans le code suivant :
1- je charge les “bibliothèques” nécessaires (twitteR, plyr, igraph)
2- je télécharge la liste de mes “amis” (les personnes que je suis, sur twitter)
3- pour chaque “amis” je télécharge la liste de 20 “amis”, et j’installe tout cela dans un tableau de la forme “NomDeLAmi | NomDeSonAmi”. Pourquoi seulement 20 amis : pour que ça aille plus vite, je n’ai pas besoin, à l’heure actuelle, de la totalité des amis d’amis.
4- je transforme cela en graphe, et je dessine le graphe

library(twitteR)
library(plyr)
library(igraph)
f<-userFriends('coulmont', n=100)
friends<-ldply(f,screenName)
fff<-table(NA,NA)
for (i in 1:nrow(friends))
{
f<-userFriends(friends[i,], n=20)
ff<-ldply(f,screenName)
fff<-rbind(fff,cbind(rep(friends[i,],nrow(ff)),ff))
}
ats.g <- graph.data.frame(fff, directed=T)
coords <- layout.fruchterman.reingold(ats.g, dim=3)
V(ats.g)$label <- V(ats.g)$name
plot(ats.g, layout=coords,vertex.size=.5*degree(ats.g),vertex.label.cex=.3*log((degree(ats.g)+.1)),edge.arrow.size=0.1)

Created by Pretty R at inside-R.org

Pour produire cela, je me suis appuyé sur divers billets de blog : Cornelius Puschmann : générer des graphes de retweet, une question sur stackoverflow, R-chart, analyser des données de twitter avec R

 
L’image ci-dessous a été réalisée en prenant les 200 “amis” que suivent une trentaine de mes “amis”, puis en ne gardant du graphe que ceux qui étaient suivis plus de 4 fois dans le graphe.

4 commentaires

Un commentaire par Une heure de peine (07/03/2011 à 13:09)

Wah-pinaise, je connaissais pas ce truc, mais je sens que ma productivité va en prendre un sacré coup dans les jours à venir !

(Content aussi d’apparaître sur les graphes)

Un commentaire par Baptiste Coulmont (07/03/2011 à 14:57)

>UneHeure : la méthode que j’utilise a de grosses limites (notamment en terme de nombre de requêtes possibles par heure : 150…). Gephi est, je pense, plus amusant et plus ludique.

Un commentaire par Gnouros (07/03/2011 à 18:46)

C’est fou ! J’ai l’impression que je ne suis dans aucun des graphes :)

Un commentaire par Baptiste Coulmont (07/03/2011 à 19:43)

Désolé Gnouros… c’est sûrement de la faute de l’algorithme… ;-)