2016-07-01 6 views
0
うtwitterアカウントのリストから

を信者を取得しようとすると:は、私はRでTwitterのパッケージで特定のアカウントのフォロワーを取得しようとしているR

names_list <- c("USER1","USER2", "etc.") 

twitter_account <- c() 

for (i in names_list){ 

    url = paste("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=",names_list[i], sep = ',') 
    twitter <- GET(url,sig) 
    content = content(twitter) 

    userz <- getUser(names_list[i]) 
    userz$getFollowers(names_list[i]) 

    } 

しかし残念ながら、それは動作しません(取得しますエラー、それでも、私はそれが動作しません確信している。私はRの比較的新しいですので、任意のヘルプは、このデータを引っ張っていただければ幸いです。でもTwitterのパッケージなし。

[ Error in if (num <= 0) stop("num must be positive") else num <- as.integer(num) : 
    missing value where TRUE/FALSE needed] 

そして、それだろう実際にcsvファイルからnames_listを取得することでこれがどのように実行されるのかを説明することができれば助かりますが、 atは本当に必要ではありません。

答えて

1

私はあなたの問題はgetUser行から来ると信じています。この場合

userz <- getUser(names_list[i]) 

、あなたが

for (i in names_list){ 

としてループのためにあなたを初期化してきたように '私は' names_listの値であるしたがって、あなたのnames_list [i]は[ 'USER1']をnames_listと同等ですnames_list [1]ではなく。

for (name in names_list){ 

    url = paste("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=", name, sep = ',') 
    twitter <- GET(url,sig) 
    content = content(twitter) 

    userz <- getUser(name) 
    userz$getFollowers(name) 

    } 

またはインデックスを反復処理し、names_listのインデックスを使用する:

私が何をしたいが名前に反復し、名前を直接参照するかだと思います

for (i in 1:length(names_list)){ 

    url = paste("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=",names_list[i], sep = ',') 
    twitter <- GET(url,sig) 
    content = content(twitter) 

    userz <- getUser(names_list[i]) 
    userz$getFollowers(names_list[i]) 

    } 
+0

は投げているようです if((!is.null(num))&&(length(vals)> = num))break: TRUE/FALSEが必要な場合にエラーが発生する追加:警告メッセージ: In doCursorAPICallペースト(タイプ、 "ids"、 強制で導入されたNAs – user6533517

+0

このエラーはどのコマンドで送出されましたか教えていただけますか? GET機能はどのパッケージからですか? sigは何を表していますか?完全な例を私に提供することはできますか(最終的にforループには含まれません)。また、urlの中でnames_list [i]を見ていないので、最初のループを編集しました。 – Choubi

関連する問題