R语言学习之道:罗马非一日建成

0?wx_fmt=jpeg

0?wx_fmt=gif本文翻译和改编自Sharp Sight Labs


要想精通数据科学,大量的练习必不可少。说起来容易做起来难,实际上很多人并不知道该如何练习。

 

如何进行数据科学的训练是一个十分广泛的话题,这有点超出本文所要介绍的范围了,但在这里我还是想给大家介绍一些有效的建议:


在众多的数据科学技能之中,你一开始最应该掌握最重要的那些技术,然后通过写一些小的脚本来不断的练习直到你知道了这些技能的前因后果。在数据科学领域,知其所以然往往更重要。

 

稍微夸张一点说就是,你最终目标应该是闭着眼睛就可以复盘所有的代码。

 

在此信念下,我想给大家一些小的脚本案例供大家来练习。下面是一些关于绘制一些地图的R代码。(我希望大家能认真注意一下下面的代码有多简单,又有多少函数和命令是你实际需要知道的)


由易入手,逐个击破 

先从一个简单的例子开始:创建一幅美国地图。

# MAP USA (STATES)
map_data("state") %>%  ggplot(aes(x = long, y = lat, group = group)) +    geom_polygon()

0?wx_fmt=png

 

三行代码(硬要算上library函数的话那就是四行)。

总之三行代码我们搞定了美国地图。

并且你仅需要改变5个字符(把usa改成state)就可以得到一幅显示各州的美国地图。

 

如果你再添加一条线,你可以使用filter函数对你的数据取个子集,然后展示一部分州的地图。

# MAP CALIFORNIA, NEVADA, OREGON, WASHINGTON
# - to do this, we're using dplyr::filter()
# ... otherwise, it's almost exactly the same as the previous code
map_data("state") %>%  filter(region %in% c("california","nevada","oregon","washington")) %>%  ggplot(aes(x = long, y = lat, group = group)) +    geom_polygon()


0?wx_fmt=png

在这里我想强调的是如果你了解filter函数和管道操作符(%>%)的性能的话,你会意识到这有多么方便快捷。

你要是再对这个图做一些变化的话,你也可以创建各个州下面的县的地图展示。

# MAP CALIFORNIA, NEVADA, OREGON, WASHINGTON
# - to do this, we're using dplyr::filter()
# ... otherwise, it's almost exactly the same as the previous code
map_data("state") %>%  filter(region %in% c("california","nevada","oregon","washington")) %>%  ggplot(aes(x = long, y = lat, group = group)) +    geom_polygon()

 

0?wx_fmt=png


再修改一下代码世界地图也可以轻易画出来:

# MAP WORLD
map_data("world") %>%  ggplot(aes(x = long, y = lat, group = group)) +    geom_polygon()

 

0?wx_fmt=png

之后你可以选择绘制任意一个国家的地图,比如说中国:

# MAP China
map_data("world") %>%  filter(region == 'China') %>%  ggplot(aes(x = long, y = lat, group = group)) +    geom_polygon()


0?wx_fmt=png

(改编者注:美帝国主义用心险恶,这里制成的中国地图没有台湾省,大家要注意)


我想再一次强调的是上面所有地图都只需要对我们一开始的那三行代码进行略微的修改就可以得到这些图形。在创建这样的基础地图的时候真的不需要我们用的多少复杂的方法,通常简单的两个R语言函数即可搞定。

 

由小见大,举一反三

也许你会问:为什么一定要练习这些基本的绘图函数?平时这些都太简单根本用不着。你应该认识到建成罗马城并非一日之功,学习R语言尤是如此。

 

此外,这些小的代码片段也是由一些基本函数构成的,你也可以把这些函数抽出来单独进行学习。所以精通一门语言的诀窍首先在于你要掌握一些基本的很微小的单个命令和函数。在你熟记这些语法和函数之后,这样的小脚本练习就让你有机会写一个稍微复杂一点的程序。不断的写这样的小片段代码,然后把它们组合起来你就可以完成更复杂的数据分析情形。多次练习之后,你就有信心直接上手一些小的数据分析项目了。

 

比如说,在经过上面很多次的绘制地图的小片段的代码练习后,你就可以绘制一些像下面这样复杂的地图:


0?wx_fmt=png

 

如果你真想熟练掌握数据科学的技巧的话,在进行大的练习之前不断的找小的脚本片段进行练习。对这些练习代码反复拆分重组直到你可以不假思索的在你的电脑上敲出它们。你会回来感谢我的,祝好。

 





原文链接:

http://sharpsightlabs.com/blog/simple-practice-maps-tidyverse/


往期精彩:





一个数据科学狂热者的学习历程

640?
640?wx_fmt=jpeg
长按二维码.关注数据科学家养成记


640?wx_fmt=jpeg


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值