大三上大礼包相关gis可视化vgis-7r_第1页
大三上大礼包相关gis可视化vgis-7r_第2页
大三上大礼包相关gis可视化vgis-7r_第3页
大三上大礼包相关gis可视化vgis-7r_第4页
大三上大礼包相关gis可视化vgis-7r_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualizationofGISAboutRContents1.R简介2.基本图形的绘制2.1ggplot22.2lattice3.地图的绘制3.1maps3.2REmap1R简介R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。1.1R语言的特点:1.R是自由软件。2.R是一种可编程的语言。3.所有R的函数和数据集是保存在程序包里面的。4.R具有很强的互动性。1.2R的安装CRAN为ComprehensiveRArchiveNetwork(R综合典藏网)的简称。它除了收藏了R的执行档下载版、源代码和说明文件,也收录了各种用户撰写的软件包。现时,全球有超过一百个CRAN镜像站。目前有2500多个称为包(package)的用户贡献模块可从下载。这些包提供了横跨各种领域、数量惊人的新功能,包括分析地理数据、处理蛋白质质谱,甚至是心理测验分析的功能。1.2R的安装R语言主页:R语言开发环境下载安装地址:1.2R的安装点击DownloadRforWindows,打开的页面又有几个选项,点击“installRforthefirsttime.”进入真正的下载页面,

点击DownloadRforWindows,打开的页面又有几个选项,点击“installRforthefirsttime.”进入真正的下载页面。1.2R的安装点击“DownloadR3.2.5forWindows”开始下载。双击下载的R3.2.5可执行文件进行安装。1.2R的安装根据安装向导选择安装路径并完成安装,注意:安装路径中不要出现中文。.R的安装安装完成后,桌面会出现两个图标。双击图标,启动界面如右图。1.3R包的使用R环境提供了一个函数,install.packages,可以直接下载安装包。加载程序包1.3R包的使用我们也可以直接通过,install.packages函数+包名,直接下载安装包。例如,包ggplot2中提供了大量的高级绘图函数。可以使用命令install.packages(“ggplot2")来下载和安装它。即,一行代码,实现了一个包的安装。注意事项:install.packages下载包时,镜像站点的列表中,请选择ChinaBeijing,位于中国的镜像文件library加载包名后,可能会提示需要添加另外的程序包,直接添加即可。1.3R包的使用完成包的安装后,每次使用前,需要使用library()命令载入这个包。例如,要使用ggplot2包,执行命令library(ggplot2)即可。注:加载时,可能会提示需要添加另外的程辑包,直接添加即可。1.3R包的使用包中各项参数如何使用,可以通过命令help(package="包名")来输出某个包的简短描述以及包中的函数名称和数据集名称的列表。Httphelppage1.3R包的使用R提供了支持GUI的程序包Rcmdr,安装该程序包,通过library(Rcmdr)加载GUI界面。1.4R的函数和对象R是一种解释性语言,不需要先编译成.exe文件,输入后可直接运行。函数形式function(对象,选项=)平均值mean()线性回归lm(y~x,data=test)R处理的所有数据、变量、函数和结果都以对象的形式保存。1.4R的函数和对象函数的调用方法,函数名+()如plot(),lm(),并将对象放入括号中,“=”表示设定参数。例如:boxplot(day~type,data=bac,col=“red“,xlab=“Virus”,ylab=“days”)day~type,以type为横轴,day为纵轴绘制箱线图。data=bac数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days1.4R的函数和对象R对象的类型向量(vector)一系列元素的组合。因子(factor)因子是一个分类变量,如“a”,”a”,”a”,”a”,”b”,”b”,”b”,”c”,”c”数组(array)数组是k维的数据表。矩阵(matrix)矩阵是数组的一个特例,维数k=2。数据框(dataframe)是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。列表(list)列表可以包含任何类型的对象。(据Paradis,2005)1.4R的函数和对象最为常用的数据读取方式是用read.table(),函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔csv文件,逗号间隔例:test.data<-read.table("D:/R/test2.txt",header=T)header=T表示将数据的第一行作为标题。read.table(file=file.choose(),header=T)可以弹出对话框,选择文件。2基本图形的绘制R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满足出版印刷的要求,可以输出JPEG、TIFF、EPS、emf、pdf、png等各种格式。绘图是通过绘图函数结合相应的选项完成的。绘图函数包括高水平绘图函数和低水平绘图函数。2基本图形的绘制高水平绘图函数plot()绘制散点图等多种图形hist()直方图boxplot()箱线图stripchart()点图barplot()条形图dotplot()点图piechart()饼图interaction.plot()matplot()……低水平绘图函数lines()添加线curve()添加曲线abline()添加给定斜率的线points()添加点segments()折线arrows()箭头axis()坐标轴box()外框title()标题text()文字mtext()图边文字2基本图形的绘制绘图参数:用在函数内部,在没有设定值时使用默认值。font=字体lty=线类型lwd=线宽度pch=点的类型,xlab=横坐标ylab=纵坐标xlim=横坐标范围ylim=纵坐标范围2基本图形的绘制例子:绘制散点图生成0到2之间的50个随机数,分别命名为x,yx<-runif(50,0,2)y<-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为”横坐标”,纵轴命名为“纵坐标”plot(x,y,main=“散点图”,xlab=“横坐标”,ylab=“纵坐标")text(0.6,0.6,"textat(0.6,0.6)")abline(h=.6,v=.6)2.1ggplot2ggplot2是用于绘图的R语言扩展包,其理念根植于《GrammarofGraphics》一书。它将绘图视为一种映射,即从数学空间映射到图形元素空间。例如将不同的数值映射到不同的色彩或透明度。该绘图包的特点在于并不去定义具体的图形(如直方图,散点图),而是定义各种底层组件(如线条、方块)来合成复杂的图形,这使它能以非常简洁的函数构建各类图形,而且默认条件下的绘图品质就能达到出版要求。2.1ggplot2基本概念:图层(Layer):如果你用过photoshop,那么对于图层一定不会陌生。一个图层好比是一张玻璃纸,包含有各种图形元素,你可以分别建立图层然后叠放在一起,组合成图形的最终效果。图层可以允许用户一步步的构建图形,方便单独对图层进行修改、增加统计量、甚至改动数据。标度(Scale):标度是一种函数,它控制了数学空间到图形元素空间的映射。一组连续数据可以映射到X轴坐标,也可以映射到一组连续的渐变色彩。一组分类数据可以映射成为不同的形状,也可以映射成为不同的大小。坐标系统(Coordinate):坐标系统控制了图形的坐标轴并影响所有图形元素,最常用的是直角坐标轴,坐标轴可以进行变换以满足不同的需要,如对数坐标。其它可选的还有极坐标轴。位面(Facet):很多时候需要将数据按某种方法分组,分别进行绘图。位面就是控制分组绘图的方法和排列形式。2.1ggplot2实习任务:基于ggplot2的绘图数据源:ggplot2自带汽车数据包mpg,用到的三个变量分别是发动机容量(displ)、高速公路上的每加仑行驶里数(hwy)、汽缸数目(cyl)。任务:分别绘制直方图,柱状图和散点图(1)绘制直方图对hwy变量绘制直方图。首先加载扩展包,然后用ggplot函数建立了第一层,hwy数据映射到X轴上;使用+号增加了第二层,即直方图对象层。library(ggplot2)p<-ggplot(data=mpg,aes(x=hwy))p<-p+geom_histogram()summary(p)print(p)2.1ggplot2(1)绘制直方图p对象含有两层,第一层数据层描述了变量和映射方式,第二层是直方图对象(geom_histogram),geom表示几何对象,它是ggplot中重要的图层控制对象,因为它负责图形渲染的类型。geom_histogram是图形渲染类型的一种.接下来绘制更复杂的直方图:首先将数据按照year这个变量划分为两组,用不同的颜色绘制直方图,而且用频率而非计数来刻画Y轴,并添加密度曲线。p<-ggplot(mpg,aes(hwy))p+geom_histogram(position='identity',alpha=0.5,aes(y=..density..,fill=factor(year)))+stat_density(geom='line',position='identity',aes(colour=factor(year)))2.1ggplot2(2)绘制柱状图使用mpg数据集,其中用到的变量是class,即生产汽车的类型,以及year生产年份。下面的条形图是将各类型的汽车数量进行汇集,并以年份作为分组变量。我们首先载入扩展包,然后用频数表对数据进行大致的了解,最后绘制了四种条形图。library(ggplot2)with(mpg,table(class,year))p<-ggplot(data=mpg,aes(x=class,fill=factor(year)))p+geom_bar(position='dodge')p+geom_bar(position='stack')p+geom_bar(position='fill')p+geom_bar(position='identity',alpha=0.3)2.1ggplot2(3)绘制散点图数据特征不仅可以用坐标来表示,也可以用不同的色彩或形状来表示。仍以mpg数据集为例,所用到的变量有cty(城市中行驶距离),hwy(高速路行驶距离),displ(排量大小),year(生产年份)library(ggplot2)p<-ggplot(mpg,aes(cty,hwy))p1<-p+geom_point(aes(colour=factor(year),shape=factor(year),size=displ),alpha=0.6,position='jitter')print(p1)将1999年生产车型用红色圆形表示,2008年用兰色三角形表示,排量用图形的大小表示,并且设置了透明度和jitter以避免样本点之间的重叠。可观察到2008年生产的大排量车型较多,从而油耗较高,单位油耗行驶距离较短。2.1ggplot2(3)绘制散点图数据特征不仅可以用坐标来表示,也可以用不同的色彩或形状来表示。仍以mpg数据集为例,所用到的变量有cty(城市中行驶距离),hwy(高速路行驶距离),displ(排量大小),year(生产年份)library(ggplot2)p<-ggplot(mpg,aes(cty,hwy))p1<-p+geom_point(aes(colour=factor(year),shape=factor(year),size=displ),alpha=0.6,position='jitter')print(p1)2.2latticelattice是由DeepayanSarkar基于grid包的一套统计图形系统,它的图形设计理念来自于Cleveland的Trellis图形,其主要特征是根据特定变量(往往是分类变量)将数据分解为若干子集,并对每个子集画图。就像数理统计中的条件期望、条件概率一样,lattice的图形也是一种“条件作图”2.2latticeThelatticeadd-onpackageisanimplementationofTrellisgraphicsforRbyDeepayanSarkar.Itisapowerfulandeleganthigh-leveldatavisualizationsystemwithanemphasisonmultivariatedata.Itisdesignedtomeetmosttypicalgraphicsneedswithminimaltuning,butcanalsobeeasilyextendedtohandlemostnonstandardrequirements.Reference:Lattice:MultivariateDataVisualizationwithR[BibTeX].DeepayanSarkar(partofSpringer'sUseRseries).

2.2lattice

实习任务:基于lattice程序包进行绘图。数据源:R自带的数据集iris任务:绘制散点图矩阵,平行坐标图和箱线图。DataSourceIrisdatasetSepalPetalSpecies(1)ScatterplotmatrixFunction:splomlibrary(lattice)super.sym<-trellis.par.get("superpose.symbol")splom(~iris[1:4],groups=Species,data=iris,panel=panel.superpose,key=list(title="ThreeVarietiesofIris",columns=3,points=list(pch=super.sym$pch[1:3],col=super.sym$col[1:3]),text=list(c("Setosa","Versicolor","Virginica"))))(2)ParallelplotFunction:parallelparallelplot(~iris[1:4]|Species,iris)parallelplot(~iris[1:4],iris,groups=Species,horizontal.axis=FALSE,scales=list(x=list(rot=90)))(3)boxplotsFunction:bwplotbwplot(iris$Sepal.Length~iris$Species)bwplot(iris$Sepal.Width~iris$Species)3地图的绘制

R绘制地图的关键步骤有三:绘制地图的需求;有要绘制地图的地理信息,经纬度、边界等等;充分利用上一步的数据在R中绘制出来。3.1maps

maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制上述地图。实习任务:绘制世界地图、美国地图等(1)绘制世界地图library(maps)map("world",fill=TRUE,col=heat.colors(10))(2)绘制美国地图library(maps)map("state",fill=TRUE,col=rainbow(209),mar=c(0,0,2,0))title("美国地图")3.1maps(3)绘制美国部分州的地图library(maps)map('state',region=c('newyork','newjersey','penn'),fill=TRUE,col=rainbow(3),mar=c(2,3,4,3))title("美国三州地图")3.1maps(4)绘制中国地图library(maps)library(mapdata)map("china",col="red4",ylim=c(18,54),panel.first=grid())title("中国地图")3.1maps

3.2REmap

REmap包是R与echart的对接,在R里调用echart的api直接作图,函数特征更加简单明了,绘图过程更方便快捷,但缺点是若要更加个性化绘图,需要手动修改REmap包源码,而该部分对于没有javascript/css/html基础的人比较晦涩难懂。

3.2REmap

REmap包的安装:此次用到的包为REmap,其挂靠在上,首先安装devtools程序包下载并安装完成后,再输入:Library(devtools)Install_github(“Lchiffon/REmap”),稍等片刻下载完成后,再输入:library(REmap)

3.2REmap

REmap包的主要函数:remapH函数:该函数主要用于绘制热力效果图,如在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论