编译| 崔浩校对 | 高航、姚嘉玲
让我们快速浏览一下这张图表:
这个可视化数据图(最初是在软件中创建的)是如何使用数据可视化来帮助决策者的一个很好的例子。 想象一下,如果这些信息以表格形式告知投资者,您认为您需要多长时间向他解释?
在当今世界,随着数据量不断增长,很难在不可视化的情况下呈现数据中的所有信息。 虽然有 、 、 d3.js 等专门工具,但没有什么可以取代具有良好可视化功能的建模/统计工具。 特别是,它有助于进行一些探索性数据分析和表征项目。 这就是 R,它非常有帮助。
R 语言提供了一组令人满意的内置函数和库(例如, 、 ),用于创建可视化来呈现数据。 在本文中,我介绍了使用 R 编程创建常见和高级可视化的步骤。 但是,在深入讨论之前,让我们快速浏览一下数据可视化的简史。 如果您对历史不感兴趣,没问题,您可以跳到下一部分。
数据可视化简史
从历史上看,数据可视化的发展是由杰出的实践者在他们的工作中完成的。 ( ) 是统计图解方法的创始人。 发明了四种图表:折线图、经济数据条形图、饼图和圆形图。 约瑟夫·普里斯特利 ( ) 创建了第一个划时代的时间线图表,其中每个条形都用于显示一个人的寿命(1765 年)。 没错,时间线图表是 250 年前发明的,而不是发明的!
最著名的早期可视化是描绘行军(俄法战争)的一幅。 数据可视化包含有关温度随时间推移对拿破仑入侵俄罗斯的广泛影响的信息。 图中值得注意的是,二维表示了六类数据:拿破仑的部队数量、距离、温度、经纬度、行军方向以及与特定日期相关的位置。
弗洛伦斯·南丁格尔 ( ) 也是数据可视化领域的先驱。 她生动地描述了疾病对。。死亡率的影响(1858)。 约翰·斯诺(不是《权力的游戏》中的角色)是使用地图进行图形和空间分析的先驱。 1854 年的伦敦,人们利用这张地图发现霍乱疫情的源头与公共水泵有关。 该信息图有助于查明特定泵的爆发源头。
R语言数据可视化
在本文中,我们将创建以下可视化:
基本可视化
1. 直方图
2. 条形图/折线图
3.箱线图
4. 散点图
高级可视化
1. 热图
2、图像拼接
3. 地图可视化
4. 3D图
5. 相关图
R语言提示:
该软件包提供了一个在统计和数据可视化历史上有趣且重要的小数据集。
基本可视化
笔记:
1.用R语言可以轻松创建基本图形。 绘图命令是要关注的命令。
2、其参数包括x轴数据、y轴数据、x轴标签、y轴标签、颜色和标题。 要创建线图,只需使用参数,类型选择为 l。
3. 如果想要箱线图,可以使用(),如果想要条形图,则使用条形图函数。
1. 直方图
基本上,直方图将数据分解为小单元(或间隔)并显示它们的频率分布。 您可以更改间隔并查看这如何影响数据可视化的可理解性。
让我举一个例子。
注意:我们使用 par(mfrow=c(2,5)) 命令是为了清楚地将多个图形放在同一页面上(请参见下面的代码)。
()
数据()
par(mfrow=c(2,3))
hist(,=10, col=.pal(3, "Set3"), main="Set3 3 ")
hist(,=3,col=.pal(3,"Set2"),main="Set2 3")
hist(,=7, col=.pal(3, "Set1"), main="Set1 3 ")
hist(,,=2, col=.pal(8, "Set3"), main="Set3 8 ")
hist(, col=.pal(8, "灰色"), main="灰色")
hist(,col=.pal(8,""),main=" ")
请注意,如果间隔数小于指定颜色数,则颜色将变为极值,如上图“Set3 8”所示。 如果间隔数量超过颜色数量,颜色将像第一行一样开始重复。
2. 条形图/折线图
线形图
下面的折线图显示了特定时期内航空公司乘客数量的增长情况。 折线图通常是分析一段时间内的扩展趋势的首选。 此外,当我们需要比较某个量与某些变量(例如时间)的相对变化时,折线图也适用。 这是代码:
plot(, type="l")# 线图
条形图
条形图对于显示多个组的累积摘要之间的比较很有用。 堆积图用于跨类别的条形图。 这是代码:
(iris$Petal.)# 条形图
(iris$Sepal., col= .pal(3, "Set1"))
(table(iris$, iris$Sepal.), col = .pal(3, "Set1"))# 绘图
3.箱线图
箱线图显示 5 个具有统计显着性的数字,即最小数字、第一四分位数、中位数、第三四分位数和最大数字。 因此,它对于可视化数据扩展并得出相应的推论非常有用。 这是简单的代码:
(iris$Petal.~iris$)# 箱线图二
让我们理解下面的代码:
在下面的示例中,我在屏幕上显示了 4 个图。 通过使用 ~ 符号,我可以想象不同类别(物种)之间的拉伸(萼片长度)是如何发生的。 我在最后两张图片中演示了调色板。 调色板是一组颜色,用于使图标更具吸引力并帮助在数据中创建引人注目的区别。
数据(虹膜)
par(mfrow=c(2,2))
(iris$Sepal.,col="red")
(iris$Sepal.~iris$,col="红色")
(鸢尾花$萼片.~鸢尾花$,col=热.(3))
(iris$萼片.~iris$,col=topo.(3))
要了解有关在 R 中使用调色板的更多信息,请参阅
4.散点图(包括3D等功能)
散点图有助于轻松可视化数据并进行简单的数据检查。 以下是简单散点图和多元散点图的代码:
情节(x = iris $花瓣。)#情节
情节(x = iris $花瓣。,y = iris $)#情节
散点图矩阵可以帮助可视化彼此相交的多个变量。
情节(虹膜,col=.pal(3,“Set1”))
您可能会认为我没有将饼图列出为基本形状。 这不是一个错误,这是我故意做的。 这是因为数据可视化专业人士不赞成使用饼图来表示数据。 因为人眼无法像目测直线距离那样准确地目测圆的距离。 简单地将可以在饼图上表示的任何内容表示为折线图。 但是,如果您更喜欢饼图,请使用:
馅饼(表(鸢尾花$))
以下是我们迄今为止学到的所有图表的列表:
您可能已经注意到,在某些图表中,它们的标题已被切断,因为我在同一屏幕上放置了太多图表。 要更改此设置,您只需更改 par 函数的“mfrow”参数即可。
高级可视化
什么是?
如果同一个地方有很多point(),我们可以使用包。 六边形分箱是一种二元直方图,可用于可视化大规模结构化数据集。 这是代码:
>()
>a=($价格,$克拉,xbins=40)
>()
>情节(一)
我们还可以创建一个调色板,然后使用绘图功能以获得更好的视觉效果。 这是代码:
>()
>rf 'Set3')))
>($价格~$克拉, 数据=, =rf)
马赛克拼图
马赛克可以通过数据所占区域的大小来有效地显示分类数据的相对比例。
>数据()
>()
热图
热图使您能够以二维为轴、以颜色强度为三维进行探索性数据分析。 但是,您需要将数据集转换为矩阵形式。 这是代码:
>(如.())
您还可以使用 image() 命令来执行此类可视化:
>图像(as.(b[2:7]))
如何聚合大量数据?
可以使用包中的函数快速汇总大量数据
地图可视化
R 中的最新功能是使用库进行数据可视化。 它是交互式地图最流行的开源库之一。 其内容请参考。
您可以直接从安装。
:(“/”)
制作上面地图的代码非常简单:
()
()
%
() %>%# 添加地图图块
(lng=77.2310, lat=28.6560, popup="食物")
m# 打印
3D图
展现 R 强大功能的最简单方法之一是在 3 分钟内创建 3D 绘图,而无需在 R 中编写任何代码。 这个要求是否太过分了?
我们使用 R 包作为图形用户界面 (GUI)。 步骤如下:
1.只需安装Rcmdr包
2. 使用图中的 3D 绘图选项
下面的代码不是用户输入的,而是自动生成的。
注意:当我们交换绘图的轴时,您应该看到带有相应代码的绘图,我们如何使用 xlab 和 ylab 传递轴标签,使用 Main 函数的绘图标题以及作为 col 参数的颜色。
>数据(虹膜,=“”)
>(花瓣.宽度~花瓣.+萼片.|, data=iris, fit=""
>=TRUE, =FALSE, bg="black", axis.=TRUE, grid=TRUE, =FALSE)
您还可以使用该包来绘制 3D 绘图。 也可用于. 这是代码:
>(iris)# 按级别
>云(萼片.~萼片.宽度*花瓣.|, main="3D by ")
>(萼片.宽度~萼片., 虹膜, =iris$, pch= 20)
相关图表 (GUI)
相关图帮助我们可视化相关矩阵中的数据。 这是代码:
>cor(虹膜[1:4])
萼片..花瓣宽度。 花瓣宽度
萼片。 1.-0。 0.0.
萼片宽度-0。 1.-0。 -0。
花瓣。 0.-0. 1.0.
花瓣宽度 0.-0. 0.1.
>(虹膜)
R 语言和数据有三个主要的 GUI 包
标题:维图 数据可视化简史:用R语言编程创建既常见又先进的可视化效果
链接:https://www.313yx.com//news/xydt/163096.html
版权:文章转载自网络,如有侵权,请联系删除!