JMP 与 R 集成:在 JMP 与 R 之间来回移动方程首先,我想推荐一下@ruthhummel关于 R 和 Python 集成的精彩新论文: http://sww.sas.com/cosmos/viewAsset? id=111094
JMP 和开源白皮书现已发布:使用 JMP 和 JMP Pro 与 Python 和 R
现在的问题是:
我有一位客户想要将方程式从 R 移入或移出 JMP。他们没有 JMP Pro(因此 Formula Depot 不是一个选项)。我向他们展示了如何使用公式编辑器、从拟合模型中保存公式等,但他们想要更自动化并与 R 集成的东西(他们是相当老练的 JMP 用户)。有人能回答以下问题吗:
- 我们如何将方程式从 R 导入 JMP?
- (1.2,真的)当我们将方程式带入 JMP 时,我们能否自动生成列或变量,因为我们想在分析器中模拟这些方程式?
- 我们如何将方程式从 JMP 导入 R(没有 Pro 和 Formula Depot - 因此这是一种除了从公式列中抓取 JSL 之外的工作)。
谢谢你!
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式公平地说,Ian,我知道 Roche 也在使用 Shiny。
然而,尽管 R 在统计环境中很有名,但 Python 是一种更通用的语言,具有可读性和面向对象的语法。因此,多年来,R 的使用率不断增加,以至于 R 落后于 Python。流行度指数很好地说明了这一点。

以及年度编程语言的 TIOBE 指数: https
/www.tiobe.com/tiobe-index/(2020 年 Python 排名第三,仅次于 C 和 Java,R 排名第 18)。网络上还有其他指标显示,从 R 转向 Python 的人比从 Python 转向 R 的人多。
这并不意味着 R 会在某个时候消失,我相信它会像 Java、C、Python 一样存在很长一段时间,并且会有自己的社区。如果他们以与 Python 类似的方式将其与 Shiny 一起投入生产环境,那么可能值得考虑代码生成,因为对此的需求将会增加。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式也许有点题外,但尽管“ R 通常不用于生产模式,因为创建接口比用 Python 做的工作要多得多”这一说法通常可能是正确的,但很容易找到反例:
“Shiny 是 R 用户中最受欢迎的开发仪表板和 Web 应用程序的框架。统计人员和数据科学家通常使用它来向更广泛的群体展示和分享他们的工作。这些仪表板通常在 RStudio IDE 内部开发,然后发布到托管服务器。自 2018 年以来,RStudio IDE 用户一直在享受 Databricks 集群和其他工作区功能的强大功能。现在他们也可以在 Databricks 上使用 Shiny。
在最新的 Data Science Central 网络研讨会中,我们将回顾 RStudio Server 如何在 Databricks 集群上运行,以及在统一数据分析平台内运行 RStudio Server 的优势。我们将为 Databricks 上的 R 用户介绍统一平台的新增功能:对 Shiny 应用程序的支持。本次网络研讨会将包括一个演示,重点介绍在托管的 RStudio Server 内开发和测试 Shiny 应用程序的生命周期,以及使用高带宽连接到强大的 Apache Spark 集群可以做什么”。
当然,单一的网络研讨会并不代表强大的市场影响力,但也许它确实有助于强调@Daniel_Valente在主题早些时候提出的问题的重要性。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式嗨,劳拉,
补充一下已经说过的内容:
1. 配方奶粉仓库:
通常,您希望从这些模型公式自动生成代码,以便在生产环境中使用它们。这些通常是基于 Web 或数据库的,因此我们提供 C++、JavaScript、SQL 和 Python(除了 SAS)。R 通常不用于生产模式,因为创建接口的工作量比使用 Python 要大得多。所以正如 Dan 所问的 - 有什么用例可以将 R 代码生成添加到公式库?
2.通过自动脚本从 JMP 公式生成 R 代码:
为了实现这一点,您需要将 JMP 语法转换为 R 语法,以用于列变量和操作。这可以编写脚本,但很麻烦。不仅要删除冒号:,而且初始化变量也可能需要一些真正的良好理解,我不确定这是否容易推广到不同类型的模型。由于时间限制和价值限制,我放弃了尝试。
但是,在报告中显示公式后,您可能能够从报告中提取公式作为字符串。这不应该包含冒号运算符。然后将此公式发送到 R 变量中,然后使用 R 代码功能从那里使用它。不确定这是否会奏效,因为我还没有测试过。
3. 通过自动脚本将 R 模型导入 JMP:
与 2 中大致相同,但您需要检查是否可以以某种方式将公式作为字符串发送到 JMP。然后您必须将字符串修改为 JMP 可以使用的公式,例如使用表达式和连接。当然,您可以构建一个 GUI 界面,在其中将 R 公式导入为字符串,将字符串的元素设置为角色,例如列、运算符等,然后创建一个 JMP 公式,然后可以在分析器中使用。但是,对于您获得的价值来说,这似乎工作量太大了。另一种方法可能是:如果 R 中的公式字符串在运算符和变量之间有空格,您可以自动读取字符串,使用正则表达式在字符串中添加冒号但不在运算符中添加冒号,这样就没问题了。
4.关于JMP Pro:
我并不认为 JMP Pro 会因为 Formula Depot 而受到威胁,因为这款软件无法与 R 配合使用,所以没有理由只为 Formula Depot 购买 Pro。它没有任何好处。
另一个主题是建立模型来比较和解释它们。他们可能会坚持使用 R 中的方法,因为他们不想购买 Pro。好的。但是,他们可能希望使用 JMP Pro 中没有的 R 中的替代模型,并在那里进行比较,因为使用剖析器进行解释更好。我可以想象 NN 具有更多隐藏层、深度学习和其他(虽然现在如果我想进行强化学习或深度学习,我会使用 Python 和/或 MATLAB)。我还可以想象一些针对特定问题陈述或随机模拟模型量身定制的专门方法,例如用于时间序列预测和计量经济学的 GARCH 或 ARMAX(我们必须依赖 SAS 例程)。但是,这也是为什么,了解他们想要实现什么以及如果他们保持现状他们无法实现什么很重要!如果有很大的商业价值,他们可能会找一位顾问为他们实现这个公式转换器。如果没有巨大的商业价值,我怀疑没有人会碰它。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式完全同意 Ian 的观点,我是 JMP 团队的新成员,但我对 JMP 和 JMP Pro 的明确定位之一是用户是否会离开 GUI 并与“基本操作”进行交互。我认为 Formula Depot 在 JMP Pro 中的定位是正确的,因为它从主要基于 GUI 的活动转移而来。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式他们试图解决的具体问题是什么, @劳拉·希金斯 ?添加 R 代码生成存在一个未解决的缺陷,但我们还没有客户在 R 中将模型投入生产的具体例子。有了客户名称和更多信息,我们就可以更新缺陷。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式我明白每个案例都不同。但是,也许显而易见的是,总的来说,我认为通过提供变通方法展示如何避免认真考虑 JMP Pro 的优点对我们并不好。
回复:JMP 和 R 集成:在 JMP 和 R 之间来回移动方程式虽然不是所有问题的答案,但要明确一点:Formula Depot 不会生成 R 代码,只会生成 Python、SAS、JavaScript、C++ 和 SQL。所以 Pro 也不是一种选择。