R语言与Tableau集成之可视化应用

摘要 : Tableau是一款非常棒的数据可视化商业软件,通过拖拉拽的方式迅速的实现数据可视化。而且该软件可以连接任何一种数据库,在处理大型数据时一点都不逊色。下面展示几幅Tableau绘制的图形:面积图、条形图的综合使用。

Tableau是一款非常棒的数据可视化商业软件,通过拖拉拽的方式迅速的实现数据可视化。而且该软件可以连接任何一种数据库,在处理大型数据时一点都不逊色。下面展示几幅Tableau绘制的图形:
面积图、条形图的综合使用。
该图反映的是2014年全球饥饿指数,将数据绘制在地图中。
这是一幅飓风行走的路径图,粗细反映了飓风的风速。
这是一幅非常流行的桑基图。

从上面的几幅图中发现,该软件作图效果还是非常炫酷的,遗憾的是,其无法从事数据分析和挖掘工作,即无法直接将数据分析或挖掘的结果进行可视化。幸运的是,从Tableau的8版本开始,Tableau与 R语言打通,可以在Tableau中运行R脚本,从而将R语言的分析或挖掘结果在Tableau中展示,可谓强强联手,所向披靡。

下文就跟大家说说如何实现Tableau和R语言的联手,绘制联手后的可视化。
首先需要在R中下载Rserve包,通过该包,实现两个软件的打通。
install.packages('Rserve')
library(Rserve)
#这里必须使用下面函数,表示启动R服务器
Rserve()

其次,通过Tableau连接R语言。
在Tableau界面下连接R语言:“帮助”——“设置和性能”——“管理R连接”,输入服务器及端口号即可成功连接(这里的服务器是本地机算计,故服务器填'localhost')。如下图所示:
上图显示R语言与Tableau连接成功。完成前面两步后,最后实战一下二合一的效果,具体请看下图。

一、如何将统计学意义的异常值寻找出来?

通过R创建异常值字段:
字段脚本如下:
//将统计学意义的异常值寻找出来 quantile四分位函数 IQR四分位距
IF SUM([Profit]) > SCRIPT_REAL(
   'quantile(.arg1,0.75)+1.5*IQR(.arg1)',
    SUM([Profit])) OR
   SUM([Profit]) < SCRIPT_REAL(
   'quantile(.arg1,0.25)-1.5*IQR(.arg1)',
    SUM([Profit]))
THEN 'Yes'
ELSE 'No'
END


Tableau展现结果:
上图的异常值判断标准是:超过上四分位数的1.5倍四分位距或低于下四分位数的1.5倍四分位距。

二、连续变量的预测
虽然Tableau可以直接绘制趋势线,并根据趋势线做预测,但是这仅仅是一个因变量与一个自变量之间的趋势关系,如下图绘制的利润趋势仅仅与时间维度相关:
如果影响利润的因素由销售数量、销售额和折扣率三个变量组成,该如何将回归后的预测体现在图中呢?

通过R拟合预测值:
字段脚本如下:
SCRIPT_REAL(
    'fit <- lm(.arg1~.arg2+.arg3+.arg4);
     fit$fitted.values',
     SUM([Profit]),SUM([Quantity]),AVG([Discount]),SUM([Sales])
     )


Tableau展示结果:
从图中的结果显示,预测与实际的趋势一致,是一个比较理想的预测模型。

三、聚类分析
聚类分析是数据挖掘中无监督的 算法之一,R语言可以非常便捷的实现各种聚类算法,如K-Means、K中心、EM期望较大法、层次分析等,下面就是要K均值算法的距离结果在Tableau中展示:
字段脚本如下:
//使用k-means方法对数据进行聚类
SCRIPT_REAL("fit <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4),centers=3);
             fit$cluster",
            SUM([Petal.Length]),SUM([Petal.Width]),SUM([Sepal.Length]),SUM([Sepal.Width]))

Tableau展示结果:
非常便捷,这就轻松搞定聚类结果的可视化。

猜你喜欢

转载自blog.csdn.net/wenyusuran/article/details/80506800