将Mathematica方程转换为R代码。

4

有没有一种简单的方法将Mathematica方程转换为R代码?我有几个由数十个带有下标、上标和希腊字母的术语组成的方程。例如,以下是一个Latex格式的方程的一小部分:

m_2_2= 48 b_1 c_2^2 d_1 \rho ^4+48 b_2 c_1^2 d_2 \rho ^4+216 b_2 c_1 c_2 d_1 \rho ^3+216 b_1 c_1 c_2 d_2 \rho ^3+96 b_1 c_2^2 d_1 \rho ^2+96 b_2 c_1^2 d_2 \rho ^2 + ...

我可以从Mathematica中复制成纯文本、输入文本、Latex或MathML格式,但如何在R中使用所有下标、上标和希腊字母呢?不幸的是,这些方程式非常长,手动重打很可能出错。有什么建议吗?


变量名中可以包含下划线,因此这些不应该引起任何问题。但是,您可能需要使用gsub或等效函数来替换希腊字母/latex以得到有效的变量名 - 最好通过去掉前导反斜杠来实现。 - Dason
1
你能提供一个小的可重现的例子吗?也就是说,你能提供一段简单(至少有点代表性)的Mathematica代码吗?我的想法是将Mathematica代码转换为纯文本,然后再转换为R语言,并使用gsub()eval(parse(text=...))函数进行处理。 - Alex A.
谢谢你的建议。我不确定如何将Mathematica代码复制粘贴到这个问题中,以一种比Latex更易于阅读的格式。我愿意听取建议。 - Anthony
1个回答

2

谢谢你指引我那个教程。如果我转换成C语言,那么我能否将Power(a,b)函数转换为R中的指数?如何将Subscript(c,d)转换为更易管理的形式? - Anthony
1
定义一个函数!Power <- function(a,b) {a^b} - soegaard
谢谢。我认为现在使用CForm[]、Power函数和查找+替换解决了下标问题。 - Anthony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接