从零开始学R数据分析,数据可视化
R软件具有丰富的作图功能,通过借助第三方包,比如gplot、ggplot2、lattice等可视化包,可以实现数据可视化功能,在使用R软件可视化之前需要提前先下载好包,然后加载使用,调用可视化包里面的函数功能,使用ggplot2包做出的图像如下所示。 示例工具:R x64 3.5.3、RStudio
本文讲解内容:数据可视化
适用范围:数据可视化作图
创建数据集
本节介绍使用R的基础功能作图,首先创建一组数据集,数据内容包含"ID"、"NAME"等五个字段,数据结果如下。 #手动创建数据表data data<-data.frame(ID=c("c001","c002","c003","c004","c005","c006","c007","c008","c009","c010"), NAME=c("Rmesh","Khilan","Kaushik","Chaitali","Hardik","Komal","Tom","Muffy","Susan","Kevin"), AGE=c(23,20,23,25,27,24,26,31,26,30), ADDRESS=c("Ahmed","Delhi","Kota","Mumbai","Bhopal","MP-A","MP-B","Indore","JP-No.1","JP-No.2"), SAL=c(2000,1500,2000,5000,8500,6500,5500,9500,7000,9000))
基础绘图函数
基础的绘图函数如下所示,下面一一介绍其函数功能。 plot():绘制散点图; title():给图片加标题; xlab()、ylab():给X、Y轴添加标签; text():在图形内增加文本标签; legend():用于添加图例。
plot函数
plot函数是一个泛型函数,可以绘制出不同的图形,对数值型数据,可以绘制散点图,对分类数据,可以绘制箱线图,对一些统计模型,可以绘制出相应的统计图形,如下使用plot函数绘制年龄与收入的散点图。 #散点图 plot(data$AGE,data$SAL)
做出散点图如上所示,从员工年龄和收入的关系来看,随着年龄的增长,收入逐渐增加,员工收入与年龄呈正相关 。
如果要改变散点的颜色,可以使用col参数,设置颜色即可,做出的散点图如下所示。 plot(data$AGE,data$SAL,col="red")
title函数
title函数用于修改图片的标题,cex 表示相对于默认大小缩放倍数的数值,col标题的颜色,font用于指定绘图使用的字体样式,当1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体,这里使用蓝色粗体的标题。 plot(data$AGE,data$SAL,title(main = list("年龄与收入关系散点图", cex = 1.2,col = "blue", font = 2)))
xlab、ylab函数
xlab()、ylab()函数用于给横坐标和纵坐标添加坐标轴标题,这里横坐标命名为"年龄",纵坐标命名为"收入"。 plot(data$AGE,data$SAL,title(main = list("年龄与收入关系散点图", cex = 1.2,col = "blue", font = 2)),xlab="年龄",ylab="收入")
text函数
text()函数用于添加数据标签,其中pch参数用于更改数据标签的颜色,这里pch=2,表示使用三角符号用于数据标签的形状,常用的数据标签形状的参数如下所示。
使用text参数添加数据标签,adj参数用于调整各个数据标签的位置。 plot(data$AGE,data$SAL,main = "年龄与收入关系散点图",xlab="年龄",ylab="收入",pch=2,col = "red",text(data$AGE,data$SAL,labels=data$NAME,adj=c(1.2,0)))
legend函数
使用legend()函数添加图表图例,"topleft"表示显示位置在左上方,图例命名为"收入",标注为三角符号,图例主题命名为"图例"。 plot(data$AGE,data$SAL,main = "年龄与收入关系散点图",xlab="年龄",ylab="收入",pch=2,col = "red",text(data$AGE,data$SAL,labels=data$NAME,adj=c(1.2,0))) legend("topleft",c("收入"),pch = c(2),title="图例")
关于图表的参数设置基本是相似的,如下是比较常见的一些R图表,包含条形图、直方图、饼图、箱线图等。
barplot函数用于绘制条形图。 #条形图 barplot(table(data$SAL))
hist函数用于绘制直方图。 #直方图 hist(data$SAL)
pie函数用于绘制饼图。 #饼图 pie(table(data$SAL))
boxplot函数用于绘制箱线图。 #箱线图 boxplot(data$SAL)
par函数
在R绘图时,有时在一个绘图区中同时绘制多幅图,在R语言中可以有多个函数来实现此要求,R中的par()函数可以将绘图区分割成规则的几个部分,多图环境用参数mfrow或参数mfcol来设定。
比如这里par(mforw=c(2,2))则是在同一绘图区中绘制2行2列共4个图形,而且是先按行绘制,即绘制完第1行的2个图形后,再绘制第2行的2个图形,绘制的图形效果如下。 par(mfrow = c(2, 2)) #散点图 plot(data$AGE,data$SAL) #条形图 barplot(table(data$SAL)) #饼图 pie(table(data$SAL)) #饼图 boxplot(data$SAL)
物联网需求在全球范围内增长是什么阻碍了美国市场的成熟?在过去12个月里,COVID19对减缓美国商业物联网投资和采用造成了相当大的打击,超过三分之一(36)的美国组织减少了他们在物联网方面的投资计划,33的组织完全取消了他们的物联网计
智慧城市如何变得智慧6大赋能技术BySidraZafarsidrazafar。智慧城市是在各种信息和计算技术的帮助下发展起来的,特别是无线传感器网络物联网(IoT)和云计算。预计到2050年,城市化将增加近70。
Aqara(绿米)宣布支持Matter协议,助力智能家居互联互通Aqara(绿米)正在加入其他智能家居供应商的行列,最近,绿米宣布加入了Matter标准行列,为智能家居用户带来新的连接标准。对于那些还没有听说过的人,有一种新的连接标准即将面市,
2028年,智能家居设备市场规模将达1566亿美元据市场调研机构ZionMarketResearch发布的最新报告,2020年全球智能家居设备市场规模为688亿美元,预计到2028年将达到1566亿美元,2021年至2028年的复
专家视点未来将是超自动化的本文作者JimVanOver传真机中央服务器高速调制解调器。曾几何时,这些高级工具只能在办公室使用。那时,企业技术远远超过了我在家中拥有的任何东西,以至于我使用它会感到头晕目眩。现
利用物联网打造未来的智能建筑很少有环境像商业建筑一样复杂,商业建筑必须支持成百上千的用户,并有许多子系统致力于让他们保持舒适安全和高效。物联网(IoT)设备提高了许多环境中的效率,从制造到水处理。它们收集数据
物联网传感器技术指南物联网传感器技术在过去几年中发展迅速,能够在各种环境中检测和呈现外部信息。如今,许多行业的公司都可以远程利用数据,这一好处在流感大流行期间出现封锁时尤为突出。物联网传感器现在也有多
你们手里的苹果手机都是哪买的还打算用多久呢其实在现在这个物流横行的时代我们不仅可以通过实体店,还可以通过电商来实现自己的购买力。我使用的是一台港版的苹果XR手机,内存是256g的,之所以选择这相对比较大的内存,首先是对于苹
丰田将斥资34亿美元在美国制造电池几周前,丰田公司概述了用于电池研究和生产的136亿美元。包括对先进的固态电池技术的投资。今天,丰田公司宣布了这个项目中对我们美国人影响最大的部分丰田公司将在10年内花费34亿美元在
Stellantis和LG联合组建北美电池厂Stellantis和LG能源解决方案承诺在北美某处建立电池工厂。虽然一个地点没有宣布或暗示,但开始日期预定在2024年第一季度。决定的背后是什么?为什么是现在?Stellanti
物联网安全如何保护边缘设备以最小化网络攻击这并非毫无根据的担忧正如我们在媒体上看到的那样,越来越多的针对工厂的网络攻击案例使基础设施变得毫无用处,甚至改变其运行,从而带来风险。我们第一次熟悉工业网络安全是在2010年。St