嗨,我是莎朗·马克利斯,编辑数据和分析总监IDG通信。我在这里做插曲7多与R:地图。
不久前,R中分析地理空间数据是相当繁琐的。但是,这改变了。顺丰包装实施了R的标准被称为简单的功能,而现在,包,比如GGPLOT2,TMAP,和小叶支撑SF。正如有人啾啾给我一天:“SF使得GIS在R A快乐!”
让我告诉你怎么做。
我有个县的加州shape文件 - 这是为每个县界信息的空间文件。而且,我有县家庭收入中位数的单独的CSV数据文件。我想通过县映射的收入。
首先,我将加载一些包。然后,我将我的设置选项,以便号码不显示为科学记数法。
在CSV文件中读取数据是非常简单的。我将使用readr导入收入数据(虽然你也可以使用基础R的read.csv)。
如何获得shape文件为R?这是一样容易在一个CSV文件中读取,如果你使用顺丰包的st_read功能。
让我们一起来看看这款MyMap中的对象。
这是一个数据帧,并且也是一个SF对象。该结构应该相当熟悉 - 这是一个常规数据帧,用几何塞进一个特殊的几何列。这使得它很容易与工作。
让我告诉你之前简单的功能,看起来像什么事情。
这是一个大的空间的多边形数据帧,也就是我们通常用于SF之前等值线图。
由于mymap中基本上只是一种特殊类型的数据帧,可以很容易地加入MyMap中与MYDATA。我可以使用正dplyr INNER_JOIN。返回从所述第一对象中的所有行,其中有在上述第二目的,使用公共密钥的列匹配。
现在,我已经得到了我的平均收入为每个县的地理空间对象。
时间地图!
我可以创建一个GGPLOT2地区分布图。它的工作原理就像任何其他类型的ggplot即。
如果你以前使用过GGPLOT2,这应该很熟悉。第一行创建使用从map_and_data数据帧的数据的GGPLOT2对象。下一行表示一种即这应该是什么 - 在这种情况下,SF GEOM - 和填充颜色应以平均收入列。
Unfortunatey,在我看来,ggplot默认为较深的颜色映射到较小的数字。这并没有多大意义的收入,所以我会改变,使用scale_fill_gradient功能,手动设置低和高填充颜色。
在结束之前,我想告诉你另一个包映射简单功能对象:TMAP。我知道,更多的人已经非常熟悉GGPLOT2,但TMAP是我制作的地图的喜爱。
语法类似于GGPLOT2。第一行创建从map_and_data数据帧一个TMAP对象。代码的第二行是说我要添加由MedianIncome列进行着色的多边形。为每个多边形的识别字段是名称列中,这是县名。而且,我决定,我想果岭的调色板,而不是默认的橙色。
而且我们已经有了一个很好的静态地图。但是,它变冷。因为我可以反过来说,地图到交互式的JavaScript地图与2行代码。
第一行设置在这里TMAP观看模式为“视图”,这是TMAP发言进行互动。第二行再提请我刚才提出的地图。
我需要在浏览器中打开此起来,所以你可以看到它
这是一个可点击的地图。你甚至可以在默认情况下改变底层图层。
最后,你可以保存静态地图为JPG或P-N-G或保存HTML映射到一个独立的文件,用tmap_save
漂亮整齐!
这是它为这个情节,感谢收看!对于以上R提示,头向多与R视频网页在bit.ly/morewithR。这是HTTPS B I牛逼周期LŸ削减更多的与R,全部小写除了R.这么久,希望看到你下一集!