我想按位置为twitter生成统计信息,例如按日期每个城市的推文数量。如果我在twitteR包中使用searchTwitter()函数,我可以添加一个地理编码位置和一个自时间参数,但我还必须指定一个搜索字符串。有没有什么方法可以通过地理编码位置和日期搜索推文而没有搜索字符串? 我目前使用的是这样的
location <- paste0(lat,",", lon,",", radius)
searchterm <- "twitter"
date <- Sys.Date()
searchTwitter(searchterm, n=1500, geocode=location, since=as.character(date))
但我想从我指定的位置搜索所有推文,而不仅仅是包含字符串“twitter”的推文。这可能吗?我希望在全国各地较小的城镇/城市中看到Twitter的增长,因此我不希望每次针对具体位置的搜索返回大量结果。
答案 0 :(得分:1)
搜索API不提供您想要的访问级别。它只返回“最相关”的推文,这可以be based on personalisation。此外,可以在您指定的区域内设置返回的推文,或者将地理编码为主页的用户配置文件列表。
如果您需要与您的查询匹配的详尽的推文列表,您应该查看DataSift之类的服务。这些可以访问所有公共推文,您可以使用他们的查询语言来请求GeoFencing流。
答案 1 :(得分:1)
制作您的searchterm NULL
:
searchTwitter('', n=1500, geocode=location, since=as.character(date))
答案 2 :(得分:0)
我的研究遇到了同样的问题。我试图只在荷兰的某些城市发送推文。我使用另一张地图与推文相交。在第一个例子中,我只收集了地理参考和荷兰的推文。然后我使用荷兰市政府的地图将这个SpatialPointDataFrame与市政边界相交。结果令人惊叹,我有一张地图,可以准确地显示所有覆盖着积分的城市区域,森林几乎没有点。但我只能使用附加位置的推文。我花了一段时间才弄清楚这一点,希望它能帮助其他人!
tweets <- dbReadTable(con,name="tweetned0302")
coords <- cbind(tweets$longitude, tweets$latitude)
spdf <- SpatialPointsDataFrame(coords, tweets, proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))
tweets_transformed <- spTransform(spdf, CRS = CRS(proj4string(region_of_interest)))
tweets_in_roi <- gIntersects(tweets_transformed, region_of_interest, byid=TRUE, prepared=TRUE)
Municipality1 <- tweets_transformed[tweets_in_roi[1,],]