优阅达 | Tableau 微课堂(96): 在 Tableau 中使用 R

published: 2023-05-08

在 Tableau 中使用 R

需要注意的是,你的计算机必须安装好 R 后,才能完全跟随视频中的教程操作,更多详情请参考 微课堂95:如何集成 Tableau 和 R 。

本期旨在展示如何利用 R 来扩展 Tableau 的能力,并将 R 的输出结果以可视化方式呈现。

在 Tableau 中编写 R

R 在 Tableau 中以表计算函数来执行计算。为了指定 Tableau 通过 Rserve 外部联接服务执行计算,就必要在计算字段中加入以下四个函数的其中之一:
• SCRIPT_BOOL

• SCRIPT_INT

• SCRIPT_REAL

• SCRIPT_STR

以上函数的参数是 R 表达式,后面跟的是 Tableau 引用参数。

而如下图中,上半部分是使用 R 脚本将 5 和 7 相加的函数公式。

如何在 Tableau 中实现同样的效果呢?因为已知赋值结果是整数,所以使用 SCRIPT_INT 函数。然后,输入:(".arg1+.arg2",

接下来要指定 Tableau 中的度量字段。数据集中只包含两个字段,Five 和 Seven 。因为这是一个表计算,所以必须聚合字段,这里使用 MIN 取每个字段的最小值。

最后,将字段拖入文本中,得出计算结果是 12。

离群值分析

在这里,可以看到订单日期的季度利润。当利润特别高或特别低的时候,需要用颜色区分。R 有一个可以评估多元离群值的程序包 “mvoutlier”。(安装方法详见微课堂95:如何集成 Tableau 和 R)。

示例中有一个计算字段 “outliers” ,用于向 R 查询哪些值是离群值。

计算字段解析:

首先,编写 Tableau 中的 IF 语句,如果 R 脚本结果为 0,则将其标记为离群值,否则标记为 “Normal” 。在这个计算中使用了 SCRIPT_REAL 函数,便于 Tableau 将 R 返回来的值显示为实数。
下面,看看 R 脚本是怎么写的。调用库中的 “mvoutlier” 包并从该包运行函数。

接下来,建立占位符 .arg1,Tableau 对引号内的 R 脚本是不可知的。因此,在 Tableau 中使用脚本之前,最好在 R 或 Rstudio 中测试所有脚本可行。

最后,让 R 知道,使用 SUM([Profit]) 来表示 .arg1

现在,将 “outliers” 字段拖入 “颜色” 标记中。可以看到确实有一些离群值(用橙色表示)。

如果想知道异常值分析是如何随时间变化的,那么当向下钻取时,会自动看到离群值。

注意,Tableau 与 R 的配合度很好,所以我们不必修改或重写计算或 R 脚本。

聚类分析

再来看一个使用 R 进行聚类分析的例子。这个例子使用了 Fisher 的鸢尾花卉数据,根据花瓣和萼片的维度对三种鸢尾花进行聚类。

现在已经建立了这 4 个测量点的散点图,我们想把这些点聚成三组,看看如何匹配不同种类的鸢尾花。

先看一下计算字段 “Cluster” 中的 R 脚本。

要求得到整数结果,所以 R 脚本使用 k-means 集群创建三个基于四个度量的集群,而 Tableau 度量使用的是花瓣和萼片字段。
当将 “Cluster” 字段拖至 “颜色” 标记时,我们可以直观地看到从 R 中返回的聚类分析结果。

数据中有 “Species” 字段(物种信息),替换掉颜色标记中的 “Cluster” 字段,会发现分析是相当准确的。更多计算细节可以通过向小优(微信 dkmxiaoyou)索取工作簿来查看。

本节 Tableau 微课堂到此结束,感谢你的耐心阅读。

下节课,我将带你学习了解 Explain Data 。