版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章大数据的展示本章的主要内容第1节统计制图的基本概念第2节单变量数据的展示第3节多变量数据的展示 第4节数据分布形态的展示第5节高维数据的展示第6节空间数据的展示第7节统计图的美化第8节大数据展示的综合应用第1节统计制图的基本概念
统计制图的发展与作用统计制图早已有之,统计制图的发展几乎与整个人类近现代文明一脉相承,在统计图表、地图、工程制图等方面,统计制图技术经历了数百年的发展。15世纪至17世纪,统计制图思想在人类社会初现萌芽,人们开始进行统计制图的早期探索。18世纪,由于统计理论和实验数据分析的发展,人类发明了抽象图和函数图大量被发明。19世纪前半叶,在有了前人的设计和技术的铺垫后,数据开始得到人们的重视,统计制图法和主题地图以前所未有的速度迅猛发展。到20世纪上半叶,统计制图的发展虽不及统计模型,但它的理论进入了教材、课程,并被政府、商业及科学等领域广泛使用。1975年至今,统计制图以快速的步伐,在更加广泛的学科发展。桌面操作系统、计算机图形学、人机交互等技术催生了交互式可视化。统计制图的发展与作用统计制图的作用信息记录信息分析和推理信息传播与协同统计制图的基本原则一张好图的基本特征显示数据。使读者将注意力放在统计图形表达的内容上,而不是制作图形的程序上。避免扭歪曲。突出数据之间的比较。服务于一个明确的目的统计制图的注意事项数据类别的排序方法避免数据丢失帮助读者解读图形避免扭曲数据选择合适的统计图形尽量使用2D图形几种常用图形规范的使用统计制图三大要素信息海量复杂高维清理统计设计视觉交互简介适度沟通直观高效传递信息发现知识一份图表产生的过程图表类型的选择统计制图的工具纯可视化图表生成软件商业智能分析绘图软件数据地图类软件可视化大屏类软件数据挖掘编程语言R语言的ggplot包简介本书选用1R作为统计制图工具。R是一种统计绘图语言,同时也指用于实现该语言的软件。R的软件本身和程序包的源代码均向用户公开,是一个免费的自由软件。R具有突出的绘图功能,可设置参数来精确地控制图形。R绘制的图形可满足出版印刷的要求,支持输出jpg、tiff、eps、emf、pdf、png等各种格式的图形。ggplot2是HadleyWickham于2005年创建的数据可视化包。数据分析者都在数据层面上思考问题,而不是拿着水彩笔和调色板一笔一划作图;而计算机程序员则倾向于画点画线。ggplot2的基本概念主要涉及数据(Data)和映射(Map-ping)、标度(Scale)、几何对象(Geometric)、统计变换(Statistics)、坐标系统(Coor-dinate)、图层(Layer)和分面(Facet)第2节单变量数据的展示
定性变量图简单条形图ggplot(data1,aes(x=factor(id),y=loan_amnt))+geom_bar(stat="identity")定性变量制图频数条形图频数条形统计图是真正的单变量数据统计图,与简单条形图的区别在于:(1)不设置y轴对应的映射;(2)去掉stat="identity",默认设置为stat="bin",即自动计算每组频数ggplot(data,aes(x=grade))+geom_bar()定性变量制图堆积条形图、簇状条形图ggplot(data,aes(x=grade,fill=term))+geom_bar()定性变量制图饼图gplot(data,aes(x=factor(1),fill=grade))+geom_bar()+coord_polar(theta="y“)定性变量制图Cleveland点图data3<-data[1:10,]#选取原数据前10个样本#绘图只需要采用geom_point函数ggplot(data3,aes(x=reorder(id,installment),y=installment))+geom_point(size=5)定量变量制图频数直方图#首先处理缺失值,为方便不妨将installment这一列作为子集提取出来data4<-subset(data,select=c(installment,grade,term))data5<-na.omit(data4)#使用na.omit函数删除缺失数据binsize<-diff(range(data5$installment))/40#以binsize表示求得的组距ggplot(data5,aes(x=installment))+geom_histogram(binwidth=binsize,fill="pink",colour="blue")#最后进行绘图,fill参数和colour参数分别对柱状和边框着色定量变量制图加入分类变量的直方图p<-ggplot(data5,aes(x=installment,fill=grade))p+geom_histogram(position=“identity”,alpha=0.4)定量变量制图分面图形#网格型p+geom_histogram()+facet_grid(.~grade)定量变量制图#封装型p+geom_histogram()+facet_wrap(~grade)第3节多变量数据的展示二维变量的展示二维变量的展示,最常用的就是散点图。它通常用来刻画两个连续型数值变量的关系,通过将观测点在两个变量上的取值映射到坐标轴上由一个点来表示,若干个观测点将会在坐标轴上呈现出一定形态的分布。我们使用R基础图形包graphics绘制AGNI与life_exp_m及AGNI与life_exp_f的简单散点图,可通过plot函数来实现par(mfrow=c(1,2))#将绘图区域分成1行2列,并按行的顺序依次绘图填充plot(log(keyindicators1$aGNI),keyindicators1$life_exp_f,xlab="国民人均收入",ylab="女性预期寿命",pch=2,cex=0.6)plot(log(keyindicators1$aGNI),keyindicators1$life_exp_m,xlab="国民人均收入",ylab="男性预期寿命",pch=3,cex=0.6)二维变量的展示当我们想要把主要精力投入在绘制的图形而不是繁琐的参数设置上时,ggplot2包在绘图上的优势便得以体现出来,下面我们将具体领略ggplot2包简洁的绘图流程与丰富的绘图功能。qplot(log(aGNI),life_exp_f,data=keyindicators1)qplot(log(aGNI),life_exp_m,data=keyindicators1)散点图的加工与美化添加趋势线添加边际地毯添加标签三维变量的展示三维散点图就是在由3个变量确定的三维空间中研究变量之问的关系,由于同时考虑了3个变量library(scatterplot3d)with(keyindicators1,{s3d<-scatterplot3d(log(GNI),log(population),life_exp_f,highlight.3d=TRUE)#创建三维散点图fit<-lm(life_exp_f~log(GNI)+log(population))s3d$plane3d(fit,col="blue")#添加趋势面})#with表示{}中的所有操作都限制在数据keyindicators1上,注意with里面设置的变量在外部无法访问三维变量的展示气泡图气泡图与散点图相似,不同之处在于,气泡图允许在图表中额外加入一个表示大小的变量。gplot(keyindicators1,aes(x=log(aGNI),y=life_exp_f,size=population))+geom_point(shape=21,colour="black",fill="lightblue")+scale_size_area(max_size=25)#scale_size_area是指定数值映射至圆的面积,缺省此函数将默认生成数值映射至圆的半径分类和分面展示通过数据点的颜色或形状来分类展示:在使用ggplot2包作图时,可以通过将类别变量指定为图形属性自动实现分组分类,例如:我们可以用region映射至散点图中点的大小或者颜色这一图形属分面展示:在一个包含分类变量的数据集中,要研究的两个数值变量间的关系可能受分类变量的影响,我们称之为组间差异。此种情况中,前面提到的分面技术将是非常有效的工具。它通过将母数据集依据类别切割为若干个子数据集,随后分别绘制出图形并列展示。二维变量的密度图地理学里,地图上地势高度相同的点连成的曲线被称之为等高线,将地势高度转化为二元随机变量联合密度函数的取值,那么等高线图就能借以绘制一个二维随机变量的核密度估计图。#生成几何对象p<-ggplot(keyindicators1,aes(x=log(aGNI),y=life_exp_m))#默认等高线图p+geom_point()+stat_density2d()密度图#有填充颜色的等高线p+stat_density2d(aes(fill=..density..),geom="tile",contour=FALSE)#有数据点,并将核密度估计映射给alphap+geom_point()+stat_density2d(aes(alpha=..density..),geom="tile",contour=FALSE)维恩图维恩图,又叫做文氏图,是集合论中用于显示几个元素集合重叠部分的图示。维恩图用圆来表示一个集合,用圆的重叠区域表示集合共同包含的元素。R软件能绘制维恩图的是VennDiagram中的venn.diagram()函数第4节数据分布形态的展示
直方图直观展示原始数据分布形态的最简单图示就是直方图,它可以直观展示数值型变量的集中水平、集中趋势以及分布的对称性和陡峭度。【数据适用类型】一个连续型变量ggplot(data,aes(x=funded_amnt))+geom_histogram()茎叶图茎叶图,由统计学家约翰托奇(ArthurBowley)设计,是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数以及每个数具体是多少。核密度估计曲线核密度估计曲线是对密度的估计,就是采用平滑的峰值函数(“核”)来拟合观察到的数据点,从而对真实的概率分布曲线进行模拟。它为数值数据的分布提供了一种平滑的描述,从中可以看出分布的大致形状。【数据适用类型】数值数据,一个连续型变量data<-read.csv("D:/lendingclub/LoanStats3a.csv",header=TRUE,sep=",")library(ggplot2)ggplot(data,aes(x=funded_amnt))+geom_density()核密度估计曲线有时候我们不仅仅对一个变量的分布进行探讨,而需要对同一变量在不同分类下的分布状态进行比对,因此接下来介绍分组密度曲线.【数据适用类型】一个连续型变量,一个离散型变量ggplot(data,aes(x=funded_amnt,colour=grade))+geom_density()频数多边形另外一种展示数据分布的方法是频数多边形,它看起来跟核密度估计曲线相似,但其传递的信息类似于直方图。核密度曲线是对数据的一个估计,而频数多边形和直方图都描述了数据本身的信息。gplot(data,aes(x=funded_amnt))+geom_freqpoly()箱线图从多组数据的分布比较的角度,箱线图是一个比较好的选择。箱线图是由一组数据的最大值、最小值、中位数、两个四分位数这5个值绘制而成的。它不仅可以反映一组数据分布的特征,如分布是否对称、是否存在离群点等,还能够进行多组数据分布特征的比较。【数据适用类型】一个连续型变量和一个离散型变量boxplot(data$funded_amnt)小提琴图与箱线图类似,小提琴图是一种用来对多组数据的分布进行比较的方法。小提琴图也是核密度估计,但绘图时对核密度曲线取了镜像以使形状对称。【数据适用类型】一个连续型变量和一个离散型变量ggplot(data,aes(x=grade,y=funded_amnt))+geom_violin()分布的图形绘制正态分布概率密度函数:累计分布函数:set.seed(1)#用于设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的是让模拟能够可重复出现x<-seq(-5,5,length.out=100)#(-5,5)中的100个数y<-dnorm(x,0,1)#dnorm为正态分布的密度函数,均值为0,方差为1plot(x,y,col="red",xlim=c(-5,5),ylim=c(0,1),type='l',xaxs="i",yaxs="i",ylab='density',xlab='',ain="TheNormalDensityDistribution")lines(x,dnorm(x,0,2),col="blue")lines(x,dnorm(x,-2,1),col="orange")legend("topright",legend=paste("m=",c(0,0,0,-2),"sd=",c(1,0.5,2,1)),lwd=1,col=c("red","green","blue","orange"))正态分布Q-Q图QQ图是一种散点图,对应于正态分布的Q-Q图,就是由标准正态分布的分位数为纵坐标,样本值为横坐标的散点图。用QQ图还可获得样本偏度和峰度的粗略信息。【数据适用类型】一个连续型变量qqnorm(data$installment)qqline(data$installment)其他常用分布的分布形态展示#指数分布set.seed(1)x<-seq(-1,2,length.out=100)y<-dexp(x,0.5)plot(x,y,col="red",xlim=c(0,2),ylim=c(0,5),type='l',xaxs="i",yaxs="i",ylab='density',xlab='',main="TheExponentialDensityDistribution")lines(x,dexp(x,1),col="green")lines(x,dexp(x,2),col="blue")lines(x,dexp(x,5),col="orange")legend("topright",legend=paste("rate=",c(.5,1,2,5)),lwd=1,col=c("red","green","blue","orange")第5节高维数据的展示
高维数据的展示散点图矩阵pairsscatterplotMatrix相关系数图corrplot热图geom_tileheatmap脸谱图faces平行坐标图(轮廓图)Latticeparallelplot雷达图stars图形重叠的处理散点图矩阵pairs(keyindicators1[,c(4,6,8,9,10,11)],main="ScatterPlotMatrixwithPairs")相关系数矩阵相关系数矩阵是一个n×n的方阵,方阵的每一个格子用颜色区分两个变量的相关系数。corrplot包提供了绘制优美的相关系数矩阵的方式。library(corrplot)cormatrix<-cor(keyindicators1[,4:11],use="everything")corrplot(cormatrix)#修改方格图形参数corrplot(cormatrix,method="shade",addCoef.col="black",tl.col="black",tl.srt=45)热图热图是将连续型数值变量映射至不同方块的颜色的图形,不同方块的颜色差异代表了个体的差异,被广泛应用于聚类分析以及时间序列分析中。#整理数据格式pres_rating<-data.frame(rating<-as.numeric(presidents),year<-as.numeric(floor(time(presidents))),quarter<-as.numeric(cycle(presidents)))ggplot(pres_rating,aes(x=seq(1,120,by=1),y=rating))+geom_path(cex=1.2)+labs(x='time’)p<-ggplot(pres_rating,aes(x=year,y=quarter,fill=rating))p+geom_tile()热图在聚类分析技术中,通常用热图来大致区分出类的数量以及哪些观测点同属一类。热图的绘制方式与相关系数矩阵图极其类似,都是通过某个数值映射到矩阵中的连续变化的颜色上。平行坐标图平行坐标轴的绘制原理是在横轴上选择几个等距的点表示不同的变量,变量的取值(或者是经过标准化处理的值)被映射到纵坐标上。这样,一个n维随机变量的一个观测就可以表示为n个点,将每个观测的点依次连接起来就形成了平行坐标图。ibrary(lattice)parallel(~keyindicators1[,1:5],keyindicators1,group=Income.Group,horizon-tal.axis=FALSE,scales=list(x=list(rot=90)))调和曲线图调和曲线图作图的基本思想与轮廓图类似,都是将一个n维空间中的点表示为二维直角坐标系中的一条曲线,不同之处在于调和曲线图运用的是类似于傅立叶变换的三角变换法,点的坐标(或者经过标准化后的坐标)参与下列形式的三角变换andrews_curve(keyindicators1[c(1:20),-6],main="Andrew_curve")雷达图雷达图,又称星图,是另外一种展示多维数据的图形。它的绘图是基于极坐标系进行的,过极点绘制n条射线,此处n等同于所展示的数据维数,这样将极坐标系分成n个极角相同的部分,最后在射线上刻上合适的刻度。stars(data[,2:5],locations=c(0,0),col.lines=2:7,radius=FALSE,scale=FALSE,key.loc=c(0,0),lwd=1.5)legend(0.5,0.8,cex=0.5,legend=keyindicators$country[2:5],col=c(2:5),lty=1)#添加图例词云图“词云”是对某一文本中出现频率较高的关键词予以视觉上的突出,形成“关键词词云”,从而让读者用最短的时间掌握文本大意与主旨。在R中想要做到从原始文本到最终的词云图输出展示,要经过如下的步骤:1.用R读入原始文本材料。2.对原始文本材料进行分词。3.由分词结果计算词频并存储于词频矩阵中。4.根据词频矩阵绘制词频图第6节空间数据的展示
空间数据的展示用R绘制世界地图R语言绘制地图,可以从maps包里面获取地图数据,用geom_polygon()(可以用颜色填充)或者geom_path()(不能填充)绘制。经度和纬度默认是在直角坐标系中的。绘制中国地图library(mapdata)map("china")在地图上展示数据在地图上显示数据在绘制地图时,每一个省市自治区或者岛屿都是用一个多边形来表示的。GIS数据其实就是提供了每一个行政区其多边形逐点的坐标,然后R软件通过顺次连接这些坐标,就绘制出了一个多边形区域。在上面的数据中,一共包含了925个多边形的信息,之所以有这么多是因为一些省份有很多小的附属岛屿。在这925个多边形中,每一个都对应一个唯一的ID,编号分别从1到925。plot命令中的col参数在本例中应该是一个长度为925的向量,其第i个分量的取值就代表了地图中第i个多边形的颜色。地图数据如何获取某一个特定地区的ID,进而设置我们想要的颜色?事实上,在变量x中,就已经存储了我们想要的信息。在R中输入“x[[2]]”或“x$att.data”,会得到一个925行7列的数据框,这其实是bou2_4p.dbf这个文件中存储的信息,readShapePoly()函数虽然读取的是bou2_4p.shp文件,但在默认情况下会把dbf文件的信息也放到变量之中。对于这个数据框,其行名就是每一个区域的ID编号,第一列和第二列分别是面积和周长,最后一列是该区域所属的行政区名,其它的列应该也是一些编号性质的变量。于是,通过查找相应的行政区对应的行名,就可以对col参数进行赋值了。在地图上显示数据plot命令中的col参数在本例中应该是一个长度为925的向量,其第i个分量的取值就代表了地图中第i个多边形的颜色。plot(x,col=gray(924:0/924))第7节统计图的美化
统计图的美化——标度标度——在ggplot2中,坐标轴和图例是根据标度生成的,由标度参数控制。位置标度颜色标度p+labs(x="贷款金额",y="年收入",colour="信用等级")+scale_y_continuous(limits=c(0,1000000))+scale_x_continuous(limits=c(10000,15000,20000,25000,30000))统计图的美化——注解对于一个统计图而言,坐标轴标签,图例,刻度等等是必不可少的,然而有时这些是不够的,为了帮助更好的理解统计图,需要向图形中添加更多的元素,比如说注解,注解主要分为文本注解和图形注解,它对于统计图起到了很好的解读和修饰的作用。文本注解+annotate图形注解+annotate统计图的美化——坐标系ggplot2中一共有6中坐标系,都以coord_开头:cartesian笛卡尔坐标系equal同尺度笛卡尔坐标系flipx轴与y轴翻转的笛卡尔坐标系trans变换的笛卡尔坐标系map地图阴影坐标系polar极坐标系ggplot(keyindicators,aes(x=aGNI,y=life_exp_f))+geom_point()+coord_trans(x="log10")统计图的美化——主题外观图形中的非数据元素外观不会影响几何对象和标度,但是使图形在一定程度上更加具有观赏性。控制这些非数据元素的主要是主题系统。其中包括标题,坐标轴与图例标签,网格线,背景等等。标签与标题element_text绘制线条和线段,主要包括坐标轴和网格线element_line绘制背景的填充和边框element_rect让原图的哪一部分主题元素消失elem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大学水文地质与工程地质勘查(地下水探测)试题及答案
- 焊工操作证考试题及答案
- 小学一年级劳动(鲁科版)知识清单:择菜技艺与家庭劳动启蒙
- acp考试题库及答案
- 初中二年级音乐跨学科单元教学设计:民族节庆“火把节”的文化理解与艺术表现
- 小学体育与健康一年级第一学期《我的健康我做主》知识清单
- 人教版五四制七年级数学《一元一次方程》单元复习教案
- 处理工考试题及答案
- 火电厂电气考试题及答案
- 2026年大学生物工程(酶工程)试题及答案
- 2026年儿科医生笔试题及答案
- 2026浙江湖州市公安局机关第一次招聘警务辅助人员19人笔试参考题库及答案详解
- 咯血患者的呼吸机辅助通气护理
- 2026年执业医师乡村全科执业助理医师考试真题(完整版)
- 剑桥等级英语KET分类词汇表
- 2025浙江瓯海铁路投资集团有限公司招聘工作人员工程管理岗位调整条件笔试历年参考题库附带答案详解
- 电力系统安全稳定运行
- 黑色素瘤护理指南培训
- 基于人工智能的学生过程性评价智能反馈与改进策略教学研究课题报告
- 中国国际展览中心集团笔试
- 洁净室物料出入制度规范
评论
0/150
提交评论