2016-12-04 13 views
1

私はtwitteRを使用して単純な検索を実行したいが、米国内にあるツイートだけを返す。twitteRには緯度/経度とその緯度/経度のジオコード引数があるが、全国のつぶやきは難しいようです。twitteR R内のジオコード引数を検索

米国のつぶやきのみを取得するために引数に入力するものは何ですか?

おかげで、

答えて

0

は、私の周りの簡単な検索を行なったし、ツイッターを内蔵している国の引数を持っていないように見えます。しかし、緯度/経度があるので、アメリカの国のシェイプファイル(つまりポリゴンの点)に空間結合を行うのは非常に簡単です。

この例では、point.in.polygon()機能のためにshapefile from Census.govとパッケージspatialEcoを使用しています。数十万の座標と数十のポリゴンを持っていても、他のパッケージが提供するものと比べて非常に高速な空間結合関数です。数百万のつぶやきがある場合や、後で複数のポリゴンに参加することを決めた場合など。世界のすべての国 - それはずっと遅くなる可能性があります。しかし、ほとんどの場合、非常に高速です。

(また、私はTwitterのAPIが設定されていないので、私はtweet_idsと緯度/経度と例のデータフレームを使用するつもりです。)

library(maptools) # to 
library(spatialEco) 

# First, use setwd() to set working directory to the folder called cb_2015_us_nation_20m 
us <- readShapePoly(fn = "cb_2015_us_nation_20m") 
# Alternatively, you can use file.choose() and choose the .shp file like so: 
us <- readShapePoly(file.choose()) 

# Create data frame with sample tweets 
# Btw, tweet_id 1 is St. Louis, 2 is Toronto, 3 is ouston 
tweets <- data.frame(tweet_id = c(1, 2, 3), 
       latitude = c(38.610543, 43.653226, 29.760427), 
       longitude = c(-90.337189, -79.383184, -95.369803)) 

# Use point.in.poly to keep only tweets that are in the US 
coordinates(tweets) <- ~longitude+latitude 
tweets_in_us <- point.in.poly(tweets, us) 
tweets_in_us <- as.data.frame(tweets_in_us) 

、あなたが見ればtweets_in_usあなたは、米国の領域内の緯度/経度のつぶやきだけを表示する必要があります。