代码之家  ›  专栏  ›  技术社区  ›  jakes

r中的计算,tableau中的可视化-如何正确地整合这两者?

  •  6
  • jakes  · 技术社区  · 6 年前

    我有一堆R脚本,它们从不同来源读取数据,执行所需的所有分析,并进行一些可视化。现在我需要将可视化部分传递到tableau,并在后者中准备整个仪表板。

    据我所知我可以拯救所有 data.frames .Rdata 文件并加载到tableau中,但从长远来看似乎很麻烦,而整个程序应该尽可能自动化。

    我知道的第二个选择是读取tableau中的数据,通过 Rserve 调用简单的r脚本 Tableau . 这是一种选择,但是:

    • R脚本不能完全自动化-它们需要与用户进行一些交互,用户必须控制分析,并且应该保持原样
    • 我的脚本做了太多的数据清理和争论,所以我认为最好把这个工作单独放在r中

    所以我的问题是,集成r和tableau的最佳方法是什么,这样在r中执行所有分析之后,我只能用很少的图更新准备好的tableau仪表板中的数据?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Alex Blakemore    6 年前

    结合使用tableau和r有两种主要的方法,它们适合不同的用例。第一种方法是使用r upstream来准备和分析数据,然后将这些数据提供给tableau用于生成和共享可视化效果。第二种方法是让tableau通过rserve交互连接到r。在这种情况下,tableau使用r来有效地调用函数和返回值,tableau可以将这些值合并到可视化中。一个很好的例子是让tableau将数据值发送到r,然后由先前训练的分类器模型对r进行评分。r提供模型评估;tableau提供交互式可视化。

    您的案例似乎属于第一类——使用r upstream生成输入tableau的数据。在这种情况下,可以以Tableau可以连接到的任何格式(表格)保存数据:csv、rdata、数据库表、xlsx、shp。你的选择。

    您还可以将生成的数据转换为Tableau数据提取格式(was.tde,now.hyper),这将加快分析速度并简化数据发布。TabLeo具有API,允许Python(和Java、C等)生成提取,并且还具有用于Windows的命令行实用工具来生成提取。

    如果您的目标是自动化etl过程,那么您应该考虑使用tableau prep工具-它可以将rdata文件转换为一个提取文件,而无需编写脚本。最后一个要考虑的主题是使用Tableau服务器将数据提供给用户和工作簿。当您准备好执行这一步骤时,您有几个关于如何在tableau服务器上发布和刷新数据的选项。要么让服务器按计划启动刷新,要么在r脚本执行后启动刷新。在最后一种情况下,还有另一个api是有用的,称为tableau rest api,tableau还向github发布了一个开源库,使使用python中的rest api变得容易。Tableau已经宣布计划在2019年让Tableau服务器执行表准备流。

    与rserve的交互用例在很多情况下都是很好的,但是看起来并不是您想要的。一个注意事项:该功能是为交互使用而设计的。如果您在r中有一个长时间运行的计算,比如训练一个复杂的ml模型,那么当您想要构建和共享交互式可视化时,最好将tableau作为一个单独的步骤来完成,并将tableau引入到混合中。