免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 39476 | 回复: 8

【话题讨论+送书福利】用R语言做数据可视化有哪些优势? [复制链接]

论坛徽章:
0
发表于 2021-01-08 13:48 |显示全部楼层
话题背景:

R语言正在成为数据科学的“通用语言”,在学术界及工业界都变得越来越受欢迎。通过R语言解决数据科学领域的问题更加容易。要真正从事数据科学,需要学习其“核心”技能:数据处理、数据可视化和机器学习。 在这三个领域,R语言提供了最简洁优雅的解决方案,例如,R中的dplyr包能让数据处理变得更加容易,ggplot2包能让数据可视化变得更加简单。更重要的是,R中提供了大量的包来解决机器学习和统计模型相关问题。如果你刚开始学习数据科学技术,R是最好选择,在R上花费100个小时将比在10个不同工具上各花费10个小时产生高得多的回报。近期机械工业出版社出版了《R语言数据可视化实战》一书,是一本全面、系统、深入分享R语言数据库可视化技术的图书,书中通过500多个可视化示例,全面展现了30多类统计图形的绘制。本次活动也以此为契机和各位讨论R语言数据可视化的相关话题,欢迎大家踊跃发言。

本次话题:

(1)在日常工作中,R最常用的数据可视化包和工具是什么?请具体列举,并说明优缺点。
(2)不同统计图形有什么优劣?为什么不建议使用饼图、甜甜圈图等图形?哪种情况下数据不适合通过直方图展示?
(3)本书是一本以实战为主的R数据可视化图书,但也不乏对其背后原理的讲解。你觉得在实际工作中,哪些地方需要更多、更深入的探讨和说明?

活动时间:2021年1月8日-2月3日


本期嘉宾:

米霖  毕业于国内知名的211院校,本科数学专业,研究生统计学专业。有8年以上的R语言项目开发经验,擅长数据挖掘、机器学习和统计模型。曾经在网易云课堂上线了多门R语言的相关课程,包括“Shiny初级教程”“R包开发”“H2O机器学习模型”“信用评分模型开发”“R语言文本挖掘”“金融数据分析”等,学员累计超过5000人。完成了多个数据挖掘项目、信贷中的信用评分项目和电商风控项目等,其中,广告虚假流量识别项目通过对虚假流量数据的挖掘,帮助企业节省了上百万元的营销成本。


本期奖品:

最佳积极参与经验分享奖5名,各奖励价值169元的《R语言数据可视化实战》图书1本。
R语言数据可视化实战
米霖  编著
书号:978-7-111-66791-9
印张:35.75(共572页)
定价:169.00元
上架建议:计算机/R语言

R语言数据可视化实战-立体封面.jpg


图书购买:

京东:https://item.jd.com/13018754.html
当当:http://product.dangdang.com/29151034.html



图书试读:内容简介+前言+目录+样章(试读) 目录 前言.pdf (318.77 KB, 下载次数: 1)

论坛徽章:
0
发表于 2021-01-08 16:32 |显示全部楼层
新年第一个活动,支持一下。

论坛徽章:
140
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5719周年集字徽章-庆
日期:2019-08-27 13:28:5615-16赛季CBA联赛之福建
日期:2019-09-10 11:43:2519周年集字徽章-周
日期:2019-12-12 10:54:0715-16赛季CBA联赛之福建
日期:2020-10-13 10:45:3220周年集字徽章-20	
日期:2020-10-28 13:53:0220周年集字徽章-庆
日期:2020-10-28 14:07:10
发表于 2021-01-09 06:59 来自手机 |显示全部楼层
大家都可以参与支持一下

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2021-01-11 10:20 |显示全部楼层
平时只偶尔才用一些图表,最简的就用电子表格的图表生成了,这个傻瓜化,有次接触了一下 gnuplot 感觉很强大,用脚本很灵活,R的话应该要更强大,没有接触过,毕竟是专业的。

论坛徽章:
8
2017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之天津
日期:2019-06-20 14:25:4015-16赛季CBA联赛之天津
日期:2019-08-20 23:06:5319周年集字徽章-庆
日期:2019-08-27 13:24:4219周年集字徽章-19
日期:2019-09-06 18:55:5019周年集字徽章-年
日期:2019-09-06 18:55:5019周年集字徽章-周
日期:2019-09-20 17:18:2220周年集字徽章-CU
日期:2020-11-11 13:06:03
发表于 2021-01-16 00:04 |显示全部楼层
(1)在日常工作中,R最常用的数据可视化包和工具是什么?请具体列举,并说明优缺点。
数据处理包:
1、rvest用来做实时爬虫,每次程序一启动就开始做最新的实时爬虫。

2、plyr和dplyr主要做数据筛选、排序、聚合计算等。

3、stringr用来对字符串分割、转换等。

4、data.table用来读取大量的历史数据并做一些简单的处理。

5、reshape2用来对数据框做变形处理。

可视化包:
1、shiny和shinydashboard用来搭建基本的网页结构和内容。
shiny的优点:
·能以较低的学习成本实现交互式网页设计。
·开发原型成本低。
·基本满足常用的交互式效果。

shiny的缺点:
·基本不支持动态效果。
·计算速度慢。
·展示内容有限。
·部署困难。


2、ggplot2这个神器应该无人不知无人不晓,用来做基本的可视化。
ggplot2相比于R基础包的绘图函数的优点:第一,有明确的起始(以ggplot函数开始)与终止(一句语句一幅图);其二,图层之间的叠加是靠“+”号实现的,越后面其图层越高;其三,绘图更加美观。R基础包的绘图函数没有一个停止绘图的标志,这使得有时候再处理会产生一些困惑。

ggplot2相比于R基础包的绘图函数的缺点:R基础包的绘图函数在做参数修改的时候,我们往往可以很方便地直接用一句单独的命令修改,譬如对于x轴的调整,觉得不满意就可以写命令直接调整。而ggplot2则意味着要重新作图。

3、ggiraph这也是个神奇的包,能把ggplot2的图形转化成交互式图形,与ggplot2堪称绝配。

4、dygraphs用来画交互式的时间序列折线图。

5、DT用来呈现交互式表格。


(2)不同统计图形有什么优劣?为什么不建议使用饼图、甜甜圈图等图形?哪种情况下数据不适合通过直方图展示?
·线图:也叫折线图,将值标注成点,并通过直线将这些点按照某种顺序连接起来形成的图。
场景:数据在一个有序的因变量上的变化,它的特点是反应事物随类别而变化的趋势,可以清晰展现数据的增减趋势、增减的速率、增减的规律、峰值等特征
优点:
能很好的展现沿某个维度的变化趋势
能比较多组数据在同一个维度上的趋势
适合展现较大数据集
缺点:每张图上不适合展示太多折线
类似图表:堆积图、曲线图、多指标折线图、双Y轴折线图、面积图

·散点图:又称XY散点图,将数据以点的形式展现,以显示变量间的相互关系或者影响程度,点的位置由变量的数值决定。
场景:显示若干数据系列中各数值之间的关系,类似XY轴,判断两变量之间是否存在某种关联,或者发现数据的分步或者聚合情况
优点:
可以展示数据的分布和聚合情况
适合展示较大的数据集
缺点:散点图看上去比较乱,基本上只能看相关、分布和聚合,其他信息均不能很好展现
类似图表:气泡图

·雷达图:又称蜘蛛网图,将多个维度的数据量映射到起始于同一个圆心的坐标轴上,结束于圆周边缘,然后将同一组的点使用线连接起来。
场景:雷达图适用于展现多维数据集
优点:
适合展现某个数据集的多个关键特征
适合展现某个数据集的多个关键特征和标准值的比对
适合比较多条数据在多个维度上的取值
缺点:
多维度但是不能太多,一般四到八个
比较的记录条数不宜太多

·漏斗图:有多个梯形从上而下叠加而成。从上到下的项有逻辑上的顺序关系,梯形面积表示某个业务量与上一个环节之间的差异。
场景:适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观的发现和说明问题所在的环节,进而做出决策
说明:
漏斗图总是开始于一个100%的数量,结束于一个较小的数量
在开始和结束之间由N个流程环节组成,每个环节用一个梯形来表示
梯形的上底宽度表示当前环节的输入情况,下底表示当前环节的输出,上底与下底之间的差异表现了在当前环节业务量的减小量,当前梯形边的斜率表现了当前环节的减小率
漏斗图的所有环节的流量都应该使用同一个度量
类似图表:金字塔图、对称漏斗图(旋风)、对比漏斗图

·树图:树图是通过树形结构来展现数据的组织关系,以父子层次结构来组织对象,是枚举法的一种表达方式。
场景:适用于与组织结构有关的分析,即有明确的层次关系的数据
优点:
直观的展现层次关系
可以看到各层级指标间的关系,可以进行简单的上卷、下钻等操作
缺点:
数据层级不宜过多
每层的成员不宜过多
无法展现各部分占比关系
类似图表:矩阵树图

·矩阵树图:采用矩形表示层次结构的节点,父子层次关系用矩阵间的相互嵌套来表达。从根节点开始,空间根据相应的子节点数目被分为多个矩形,矩形面积大小对应节点属性。每个矩形又按照相应节点的子节点递归的进行分割,直到叶子节点为止。
场景:适合展现具有层级关系的数据,能够直观体现同级之间的比较
优点:
图形更紧凑,同样大小的画布可以展现更多的信息
可以展现成员间的权重
缺点:
不够直观、明确、不像树图那么清晰
分类占比太小时不容易排布
类似图表:树图、马赛克图,热力图

·仪表盘:像一个钟表或者可读盘,有刻度和指针,其中刻度表示度量,指针表示维度,指针角度表示数值,指针指向当前数值。
场景:管理报表或报告,直观的表现出某个指标的进度或实际情况
优点:
适用于场景比较窄,主要用于进度或占比的展现
缺点:
只能一个维度,指标也不宜过多,展示信息有限
类似图表:堆积图

·极坐标图,由多个扇区构成。每个扇区的标签由数据的维度决定,每个扇区的长度由数据的度量决定。每个扇形的角度一样,通过半径展示变化。
场景:适用于枚举数据之间的比较,比如显示一段时间内的数据变化,或显示各项之间的比较情况。
优点:
视觉效果在部分情况下比其他图表更佳
同样的画布能比部分其他图表展示数据更多
缺点:
不适合分类过少的数据集
不适合部分度量过小的数据集
类似图表:饼图、环图、柱图、玫瑰图

·词云图,又称文字云,是文本数据的视觉表示,由词汇组成类似云的彩色图形,用于展示大量文本数据。每个词的重要性以字体大小或颜色显示。
场景:做用户画像,对用户进行聚类,实现精细化营销。适合用于描述网站上的关键字(即标签),或可视化自由格式文本,可以对比文字的重要程度。其本质是点图,是在相应坐标点绘制具有特定样式的文字的结果
优点:
快速感知最突出的文字,或区别权重不同的文字
可展示大量文本
缺点:
不适合展现数据太少的数据集
不适展现区分度不大的数据,即无重点关键词
类似图表:点图、柱图

·饼图:以饼状图形显示一个数据系列中各项的大小与各项总和的比例,也称作扇形统计图。
场景:适用于二维数据,即一个分类字段,一个连续数据字段,当用户更关注与简单占比时,适合使用饼图。
优点:简单直观,很容易看到组成成分的占比
缺点:
不适合较大的数据集(分类)展现
数据项中不能有负值
当比例接近时,人眼很难准确判别
类似图表:环形图、3D饼图

·柱图,又称柱状图。是一种以长方形的长度来表达数据的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况。
场景:适合用于展示二维数据集,展示数据的分布情况,其中一个轴表示需要对比的分类维度,另一个轴代表相应的数值,比如:(月份,商品销量),或者在一个维度上,对多个同质可比的指标的比较,比如:(月份,苹果销量,桃子产量)
优点:
简单直观,很容易根据柱子的长短看出值的大小
易于比较各组数据之间的差别
缺点:不适合较大数据集的展现
类似图表:条形图、直方图、堆积图、百分比堆积图、双Y轴图等

(3)本书是一本以实战为主的R数据可视化图书,但也不乏对其背后原理的讲解。你觉得在实际工作中,哪些地方需要更多、更深入的探讨和说明?
将R语言和Python结合起来,互补有无,提升性能。

论坛徽章:
58
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2021-01-18 12:03 |显示全部楼层
新年活动要支持。

论坛徽章:
3
季节之章:冬
日期:2015-01-15 10:36:57IT运维版块每日发帖之星
日期:2015-09-24 06:20:00IT运维版块每日发帖之星
日期:2015-10-24 06:20:00
发表于 2021-01-19 08:32 |显示全部楼层
(1)在日常工作中,R最常用的数据可视化包和工具是什么?请具体列举,并说明优缺点。
      所用工具包,主要分类两类:数据处理和可视化。
数据处理包:

rvest用来做实时爬虫,每次程序一启动就开始做最新的实时爬虫。

plyr和dplyr主要做数据筛选、排序、聚合计算等。

stringr用来对字符串分割、转换等。

data.table用来读取大量的历史数据并做一些简单的处理。

reshape2用来对数据框做变形处理。

可视化包:

shiny和shinydashboard用来搭建基本的网页结构和内容。

ggplot2这个神器应该无人不知无人不晓,用来做基本的可视化。

ggiraph这也是个神奇的包,能把ggplot2的图形转化成交互式图形,与ggplot2堪称绝配。

dygraphs用来画交互式的时间序列折线图。

DT用来呈现交互式表格。
(2)不同统计图形有什么优劣?为什么不建议使用饼图、甜甜圈图等图形?哪种情况下数据不适合通过直方图展示?
      R中不建议使用饼图,并且饼图的功能受到一定限制。在饼图中使用条形(直方)图或点图,因为人们能够比长度更准确地判断长度。饼图是使用函数pie(x,labels =)创建的,其中x是指示每个切片区域的非负数字矢量,labels =表示切片名称的字符矢量。


(3)本书是一本以实战为主的R数据可视化图书,但也不乏对其背后原理的讲解。你觉得在实际工作中,哪些地方需要更多、更深入的探讨和说明?
     有个标杆应用和氛围,尤其在python、go等语言迅速崛起的时候,怎么突出优点???

论坛徽章:
58
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2021-01-19 12:37 |显示全部楼层
(1)在日常工作中,R最常用的数据可视化包和工具是什么?请具体列举,并说明优缺点。
R常用的数据可视化包和工具有ggplot2,recharts,rCharts,shiny,rbokeh,leaflet,plotty等。
1、ggplot是一个拥有一套完备语法且容易上手的绘图系统,在Python和R中都能引入并使用,在数据分析可视化领域拥有极为广泛的应用。本篇从R的角度介绍如何使用ggplot2包,首先给几个我觉得最值得推荐的理由:
a)采用“图层”叠加的设计方式,一方面可以增加不同的图之间的联系,另一方面也有利于学习和理解该package,photoshop的老玩家应该比较能理解这个带来的巨大便利
b)适用范围广,拥有详尽的文档,通过?和对应的函数即可在R中找到函数说明文档和对应的实例
c)在R和Python中均可使用,降低两门语言之间互相过度的学习成本
2、Leaflet包是号称最受欢迎的JS的开源交互式地图包( most popular open-source JavaScript libraries for interactive maps),可以直接加载 OpenStreetMap, Mapbox, and CartoDB的底图数据,LeafletR主要是用R语言的语法封装了JS版的Leaflet,可以在R语言的plot窗口,利用html5技术显示各种地图,还可以绘制自己的要素图形。
它有如下功能:
    交互地图浏览(缩放、平移)
    使用多种底图进行任意组合
    加载地图瓦片(WMTS)
    点要素定位标记
    多边形要素标记
    线要素标记
    弹出窗口
    解析加载GeoJson
    从R或者RSutido创建地图窗口
    可以把地图嵌入 knitr/R包所生成的Markdown文档中,或者是Shiny制作的APP中。
    可以直接获取通过SP包生成就(加载)的空间对象以及包含经纬度的数据框进行展示。
    可以设定地图范围以及封装自定义的鼠标事件。
3、rCharts直接在R中生成基于D3的Web界面。
4、Recharts 是一个用 React 和 D3构建的重新定义的图表库。这个库能帮助你在 React 应用中轻易绘制图表,Recharts 的主要特点:
    简单地使用 React 组件进行部署
    支持原生 SVG,轻量级应用一些 D3 子模块
5、Shiny 是一个为 R 模型提供 Web 交互界面的应用框架,非常容易编写应用,不要求有 Web 开发技能。
Shiny 由 RStudio 公司开发,通过 CRAN 下载安装,利用R语言轻松开发交互式Web应用。
6、rbokeh,快速浏览了下,非常美观灵活好用,又发现其在很多语言也有应用,包括R语言,不过是刚刚发布的,好像功能比ggplot2包更强大
7、Leaflet 是一个为移动设备设计的交互式地图的开源的 javascript库, 并只有38k,包含了大多数开发者需要的地图特点。
8、Plotty通用于Python和R语言。
(2)不同统计图形有什么优劣?为什么不建议使用饼图、甜甜圈图等图形?哪种情况下数据不适合通过直方图展示?
数据可视化就是借助视觉的表达方式(不局限于文字),将枯燥的,专业的,不直观的数据内容,有趣的、浅显的、直观的传达给观众的一种手段。
非设计师在制作数据可视化时,往往会因为重点突出数据的重要性,而让可视化图表变得枯燥乏味。而设计师在制作数据可视化时,又会因为过度注重绚丽多彩而让数据的呈现效果大打折扣。所以在这种大环境下,催生出了数据可视化行业。
作为设计师,如何拥抱这个新兴的行业,如何把握设计与功能之间的平衡,从而更好的沟通与传达信息,即是本文的重点。
信息图表,就是数据可视化后产生的结果,就是我们在工作汇报中,项目介绍中,以及后台系统中经常见到的数据图表。
信息图形由信息和图形两个词语组成,它被称之为“信息图形”(Infographics或Information Graphics)。信息图形最初是在旧的纸质媒体上刊登的,更加有助于人们理解新闻信息的可视化内容。
饼图和甜甜圈图展现的信息量不大,而且比较紧凑,在展示效果上不是太好。如果数据量很少,使用直方图可能就两三个,这个时候更适合饼图。
(3)本书是一本以实战为主的R数据可视化图书,但也不乏对其背后原理的讲解。你觉得在实际工作中,哪些地方需要更多、更深入的探讨和说明?
要找准R语言的适用场合,结合其它脚本语言如Python,Php等,更充分的发挥各自擅长的地方。

论坛徽章:
0
发表于 2021-01-22 17:16 |显示全部楼层
上次送书的时候,我自己经买了一本,这次必须支持一下。

现在Python很火爆,分析应用已经有了很多类库,R语言圈子比较还小,5年内估计很难超越吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】2021年5月20日-22日第十三届中国系统架构师大会将在云端进行网络直播。

大会为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。
http://sacc.it168.com/


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP