2016-08-21 16 views
1

dplyrを使用してsearchTwitter結果からユーザーの場所を取得したいと考えています。twitteRとdplyrを使ってツイート検索からユーザーの場所を取得

まず、私は特定のタグを含むツイートを検索し、私はdplyrの枠組みの中でそれらを変換:

tw = searchTwitter('#twitter', n = 100, since = '2012-01-01') 
tw_df <- tbl_df(map_df(tw, as.data.frame)) 

その後、私はそれらの位置を取得するために、ユーザーを抽出したいです。私はgetUser()とlocation()関数を使用しています:

私はdplyrパイプラインでこれを組み合わせたいとき

location(getUser('testusername')) 

しかし、私はエラーを得た:

tw_df %>% 
    mutate(user.location = location(getUser(screenName))) 

エラー:私はそれは、Twitterの制限かもしれないと思った

Error: error in evaluating the argument 'object' in selecting a method for function 'location': Error in twInterfaceObj$doAPICall(paste("users", "show", sep = "/"), params = params, : 
    Not Found (HTTP 404). 

しかし、複数の要求は、dplyrパイプラインの外では、それは動作します:

for (i in 1:10) { 
    test.user <- getUser("testusername"); 
    print(location(test.user)) 
} 

dplyrを使用してこのリクエストを行うことはできますか?

答えて

1

一度にすべてのスクリーンネームを持つ

library(twitteR) 
library(dplyr) 
tw <- searchTwitter('#twitter', n = 3) 
tw_df <- twListToDF(tw) 
tw_df %>% 
    rowwise() %>% 
    mutate(user.location = twitteR::location(getUser(screenName))) %>% 
    select(user.location) 
# Source: local data frame [3 x 1] 
# Groups: <by row> 
# 
# # A tibble: 3 x 1 
#     user.location 
#       <chr> 
# 1        
# 2 En la VI Republica, Venezuela 
# 3     San Mateo, CA 

tw_df %>% mutate(user.location = location(getUser(screenName)))フィードscreenNameを行うことができます。それはここでは機能しません。 エラー:「(twInterfaceObj $ doAPICallで (ペースト:警告メッセージ:できない「を 『NULL』」また 署名のための関数「場所」の継承された方法を見つけるために、私はあなたのコードを使用してランダムにこのエラーを取得しています

+0

レートリミットが発生し、再試行の限界に達しました - 部分的な結果を返しました 何か問題がありましたか? –

+0

レートリミットに達したようですが、 lookupUsers'を 'getUser'の代わりに' dplyr'を落として、レート制限を扱う際にressourcesをチェックアウトしてください。 – lukeA

+0

5を越えるとすぐに奇妙です、私はエラーがあります...それはかなり低いリソース制限です –

関連する問題