如何用R绘制地图

Python028

如何用R绘制地图,第1张

这里主要介绍下在R语言中绘制地图的个人琢磨的思路。绘制地图步骤有三:

你得需要绘制地图;(约等于废话)

你得有要绘制地图的地理信息,经纬度啊,边界啊等等;

你得利用2的数据在R中画出来。

以上步骤中,目前最关键的是2,一旦2的数据有了,在R中不就是把它们连起来嘛,这个对于R来说就是调戏它,就跟全民调戏小黄鸡一样。

R语言中绘制地图的思路也是由于2的获取方式不一样而分开的。

第一种思路:有一些R包中存储着常见地图的数据,比如maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制上述地图。mapdata包中存有中国地图的数据,但是比较旧了,这个数据,重庆还没有从四川分出来呢。

第二种思路:我先去一个地方所画图的地理数据,然后读入R进行绘制。比如由于mapdata中的中国地图比较久远了,谢老大的《终于搞定中国分省市地图》一文中就介绍了,先从国家基础地理信息中心中国各省市的地理数据,之后再绘制。后来肖凯老师又介绍googleVis包也可以按照这个思

非度量多维标度(NMDS)分析

非度量多维标度(Non-metric Multidimensional Scaling,NMDS)是一种将多维空间的研究对象(样本或变量)简化到低维空间进行定位、分析和归类,同时又保留对象间原始关系的数据分析方法。

与PCoA相似,NMDS都使用样本相似性距离矩阵进行降维排序分析,但NMDS侧重反映距离矩阵中数值的排序关系,NMDS图形常用作微生物群落研究的β分析。

来看看R的vegan包和ggplot2包是如何绘制NMDS图的。

使用数据文件如下:

①otu_table.txt

②group.txt

方法如下:

1.调用vegan包metaMDS()函数执行NMDS,读取数据;

2.根据物种组成计算样方距离,如 Bray-curtis 距离;

3.NMDS 排序,定义 2 个维度;

4.提取应力函数值、样方得分,查看主要结果;

5.物种变量可通过丰度加权平方被动添加至排序图中;

6.使用ggplot2包作图。