Help us understand the problem. What is going on with this article?

Rでネットワーク分析。指定Twitterユーザーのフォロー関係を可視化する。

More than 5 years have passed since last update.

出力結果

RPlot.png

概要

RでTwitterユーザー間のフォロー/フォロワー関係を調べる。
手始めに、指定ユーザーのフォローリストを取得しグラフ化する。

作業

下記ページの作業を行った。
-> Mining Twitter with R - Tutorial 1: Building a corpus from Twitter data - YouTube
 ※英語注意。台詞は聞き取れなくてもOK。映像だけ見れば、何をやればいいかは分かる。

コード

twitnet.R
library(ROAuth)
library(twitteR)
library(igraph)


#【認証処理】

# 設定情報を取得
twit.consumerKey <- "<あなたのTwitter-API key>"
twit.consumerSecret <- "<あなたのTwitter-API secret>"

# 証明書を取得
setwd(tempdir())
cacert.name <- "cacert.pem"
download.file(url = "http://curl.haxx.se/ca/cacert.pem", destfile = cacert.name)
# OAuth認証
twit.cred<-OAuthFactory$new(consumerKey = twit.consumerKey,
                            consumerSecret = twit.consumerSecret,
                            requestURL = "https://api.twitter.com/oauth/request_token",
                            accessURL = "https://api.twitter.com/oauth/access_token",
                            authURL = "https://api.twitter.com/oauth/authorize")
# ※コマンド実行後、Web画面での認証を求められる。
#   Web画面に表示されるPIN番号をコンソールで入力する。
twit.cred$handshake(cainfo = cacert.name)

# Twitter認証
registerTwitterOAuth(twit.cred)


#【本処理】

# 対象ユーザーの情報を取得
user <- getUser("nezuq", cainfo = cacert.name)
# 対象ユーザーのフォロー対象者の情報を取得
friends <- user$getFriends(cainfo = cacert.name)
friends.df <- twListToDF(friends)
friends.n <- nrow(friends)
users <- c(user, friends)
users.df <- twListToDF(users)
users.n <- nrow(users.df)
# グラフデータを作成
g.data <- cbind(1,2:users.n)
g <- graph.edgelist(g.data)
# グラフを表示
V(g)$name <- users.df$screenName
plot(g, vertex.label = V(g)$name, vertex.size = 10, vertex.label.cex = 0.6, margin = -0.4)

感想

申し訳ないが、TwitterのAPI key/API secretをWebでコピーする時に付いてくる半角スペースはNG。
そのせいで3時間くらい不要な調査を強いられたんだよなぁ。

参考ページ

-> Mining Twitter with R - Tutorial 1: Building a corpus from Twitter data - YouTube
-> R言語でTwitterを操作する : 実験ぶろぐ(仮)試供品
-> Package ‘twitteR’
-> ネットワーク分析をもうちょっと勉強 - でたぁっ 感動と失敗の備忘録

nezuq
テクノロジー信者。学習中。
https://www.slideshare.net/nezuQ/presentations
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした