百万个冷知识百万个冷知识

百万个冷知识
一起学习百万个冷知识

用 R 收集和映射推特数据的初学者向导(r怎么输入数据集)

自学采用 R 的 twitteR 和 leaflet 包, 你就能把任何人热门话题的贴文功能定位画在世界地图上。 -- Dorris Scott

责任编辑导航系统

-建立插件 …… 09%

-搜集twitter统计数据 …… 23%

-生成世界地图 …… 50%

-归纳 …… 81%

校对自: https://opensource.com/article/17/6/collecting-and-mapping-twitter-data-using-r

译者: Dorris Scott

翻译者: XYenChi

自学采用 R 的 twitteR 和 leaflet 包, 你就能把任何人热门话题的贴文功能定位画在世界地图上。

当我已经开始自学 R ,我也须要自学怎样出于科学研究的出发地搜集twitter统计数据并对其展开态射。虽然网路上有关那个热门话题的重要信息许多,但我察觉到无法认知甚么与搜集并态射twitter统计数据有关。我不但是个 R 新手,所以对各式各样讲义中控制技术术语不熟识。但虽然举步维艰,我获得成功了!在那个讲义里,我将以一类新手开发人员都看不懂的形式来全攻略怎样搜集twitter统计数据并将至展现出在世界地图中。

建立插件

假如你没twitter账号,具体来说你须要 注册登记三个[1]。接着,到 apps.twitter.com[2] 建立三个容许你搜集twitter统计数据的插件。别担心,建立插件极为单纯。你建立的插件会与twitter插件接口(API)相连。 想像 API 是三个多用途电子零件对个人副手。你能采用 API 让其他流程帮你行事。如此一来,你能网络连接twitter API 令其搜集统计数据。只需保证千万别允诺太多,即使twitter统计数据允诺单次是有管制[3] 的。

搜集贴文有三个需用的 API 。你若要做纸制的贴文搜集,所以采用 REST API. 若是想在某一天数内稳步搜集,能用 streaming API。讲义中我主要就采用 REST API。

建立插件之后,前往 Keys and Access Tokens 标签。你须要 Consumer Key (API key)、 Consumer Secret (API secret)、 Access Token 和 Access Token Secret 才能在 R 中访问你的插件。

搜集推特统计数据

下一步是打开 R 准备写代码。对于新手,我推荐采用 RStudio[4],这是 R 的集成开发环境 (IDE) 。我发现 RStudio 在解决问题和测试代码时很实用。 R 有访问该 REST API 的包叫 twitteR[5]。

打开 RStudio 并新建 RScript。做好这些之后,你须要安装和加载 twitteR 包:

install.packages("twitteR")

#安装 TwitteR

library (twitteR)

#载入 TwitteR

安装并载入 twitteR 包之后,你得输出上文提及的插件的 API 重要信息:

api_key <- ""

#在引号内放入你的 API key

api_secret <- ""

#在引号内放入你的 API secret token

token <- ""

#在引号内放入你的 token

token_secret <- ""

#在引号内放入你的 token secret

接下来,连接twitter访问 API:

setup_twitter_oauth(api_key, api_secret, token, token_secret)

我们来试试让twitter搜索有关社区花园和农夫市场:

tweets <- searchTwitter("community garden OR #communitygarden OR farmers market OR #farmersmarket", n = 200, lang = "en")

那个代码意思是搜索前 200 篇 (n = 200) 英文 (lang = "en") 的贴文, 包括关键词 community garden 或 farmers market 或任何人提及这些关键词的热门话题标签。

twitter搜索完成之后,在统计数据框中保存你的结果:

tweets.df <-twListToDF(tweets)

为了用贴文建立世界地图,你需要搜集的导出为 .csv 文件:

write.csv(tweets.df, "C:\Users\YourName\Documents\ApptoMap\tweets.csv")

#an example of a file extension of the folder in which you want to save the .csv file.

运行前保证 R 代码已保存接着继续展开下一步。.

聚合地图

现在你有了能展示在世界地图上的统计数据。在此讲义中,我们将用三个 R 包 Leaflet[6] 做三个基本的插件,这是三个聚合交互式世界地图的热门 JavaScript 库。 Leaflet 采用 magrittr[7] 管道运算符 (%>%), 即使其语法自然,易于写代码。刚接触可能有点奇怪,但它确实降低了写代码的工作量。

为了清晰起见,在 RStudio 打开三个新的 R 脚本安装这些包:

install.packages("leaflet")

install.packages("maps")

library(leaflet)

library(maps)

现在须要三个路径让 Leaflet 访问你的统计数据:

read.csv("C:\Users\YourName\Documents\ApptoMap\tweets.csv", stringsAsFactors = FALSE)

stringAsFactors = FALSE 意思是保留重要信息,不将它转化成 factors。 (想了解 factors,读这篇文章"stringsAsFactors: An unauthorized biography"[8], 译者 Roger Peng)

是时候制作你的 Leaflet 世界地图了。我们将采用 OpenStreetMap基本世界地图来做你的世界地图:

m <- leaflet(mymap) %>% addTiles()

我们在基本世界地图上加个圈。对于 lng 和 lat,输出包含贴文的经纬度的列名,并在前面加个~。 ~longitude 和 ~latitude 指向你的 .csv 文件中与列名:

m %>% addCircles(lng = ~longitude, lat = ~latitude, popup = mymap$type, weight = 8, radius = 40, color = "#fb3004", stroke = TRUE, fillOpacity = 0.8)

运行你的代码。会弹出网页浏览器并展示你的世界地图。这是我前面搜集的贴文的世界地图:

贴文功能定位世界地图

带功能定位的贴文世界地图,采用了 Leaflet 和 OpenStreetMap CC-BY-SA[9]

虽然你可能会对世界地图上的图文数量如此之小感到惊奇,通常只有 1% 的贴文记录了地理编码。我搜集了总数为 366 的贴文,但只有 10(大概总贴文的 3%)是记录了地理编码的。假如你为得到记录了地理编码的贴文而困扰,改变搜索关键词看看能不能得到更好的结果。

归纳

对于新手,把以上所有碎片结合起来,从twitter统计数据聚合三个 Leaflet 世界地图可能很艰难。 那个讲义基于我完成那个任务的经验,我希望它能让你的自学过程变得更轻松。

(题图:琼斯·贝克[10]. CC BY-SA 4.0[11]. 来源: Cloud[12], Globe[13]. Both CC0[14].)

译者简介:

Dorris Scott - Dorris Scott 是佐治亚大学的地理学博士生。她的科学研究重心是地理重要信息系统(GIS)、 地理统计数据科学、可视化和公共卫生。她的论文是在三个 GIS 系统接口将退伍军人福利医院的传统和非传统统计数据结合起来,帮助病人为他们的健康状况作出更为明朗的决定。

via: https://opensource.com/article/17/6/collecting-and-mapping-twitter-data-using-r

译者:Dorris Scott[15] 翻译者:XYenChi 校对:wxy

责任编辑由 LCTT 原创校对,Linux中国 荣誉推出

[1]: 注册登记三个 -

https://twitter.com/signup

[2]: apps.twitter.com - https://apps.twitter.com/

[3]: 管制 -

https://dev.twitter.com/rest/public/rate-limiting

[4]: RStudio - https://www.rstudio.com/

[5]: twitteR - https://cran.r-project.org/web/packages/twitteR/twitteR.pdf

[6]: Leaflet - https://rstudio.github.io/leaflet

[7]: magrittr - https://github.com/smbache/magrittr

[8]: "stringsAsFactors: An unauthorized biography" - http://simplystatistics.org/2015/07/24/stringsasfactors-an-unauthorized-biography/

[9]: CC-BY-SA - https://creativecommons.org/licenses/by-sa/2.0/

[10]: 琼斯·贝克 -

https://opensource.com/users/jason-baker

[11]: CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/

[12]: Cloud - https://pixabay.com/en/clouds-sky-cloud-dark-clouds-1473311/

[13]: Globe - https://pixabay.com/en/globe-planet-earth-world-1015311/

[14]: CC0 - https://creativecommons.org/publicdomain/zero/1.0/

[15]: Dorris Scott - https://opensource.com/users/dorrisscott

未经允许不得转载:百万个冷知识 » 用 R 收集和映射推特数据的初学者向导(r怎么输入数据集)
分享到: 更多 (0)

热门推荐

百万个冷知识 带给你想要内容

联系我们