R 把她和茱莉亚联系起来?
Julia看起来非常有希望实现快速和语法健全的计算(例如),但我怀疑在一段时间内,就总体统计工作流程而言,它不会接近R。所以我想使用C++主要用于R程序:优化代码的慢部分。在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段有什么设施 因此:R 把她和茱莉亚联系起来?,r,julia,R,Julia,Julia看起来非常有希望实现快速和语法健全的计算(例如),但我怀疑在一段时间内,就总体统计工作流程而言,它不会接近R。所以我想使用C++主要用于R程序:优化代码的慢部分。在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段有什么设施 因此: 有什么设施可以连接R和Julia 在从零到Rcpp的范围内,它们有多强大和经过深思熟虑 < >我想从R调用朱丽亚,就像RCPP允许从R中调用C++一样。我不想给朱莉娅打电话。(所以RCall.jl不起作用)我也是。但就像@gsk3一样,我
- 有什么设施可以连接R和Julia
- 在从零到Rcpp的范围内,它们有多强大和经过深思熟虑
.C()
的东西。但正如最近在r-devel上讨论的那样,您确实不希望.C()
,在大多数情况下,您更希望.Call()
,以便传递表示真实r对象的实际SEXP变量。所以现在我看到Julia在R的范围很小,因为这个限制
也许TCP/IP在RADEL中的一个间接接口可以在朱丽亚成熟一点之前得到第一个开始,我们得到一个合适的C++接口。或者我们使用基于RCPP的东西从R到C++,然后进入中间层(有人必须写),从中我们将数据馈送给朱丽亚,就像实际的RAPI只提供C层一样。我不知道
最后,可能需要一些耐心。我在1996年或1997年左右开始研究R,当时Fritz Leisch在comp.os.linux.announce新闻组上发布了第一批公告。当时R的设施相当有限(但S语言的全部承诺,当然,si,我们知道我们有一个赢家)。几年后,我准备把它作为我的主要建模语言。当时克兰的包裹还不到100件朱莉娅很可能会到达那里。但是现在我怀疑我们中的许多人会在R中完成工作,并且对Julia有一些好奇的了解。正如我在中所描述的,Julia开发计划允许将Julia代码编译到共享库中,可以使用C ABI调用。一旦发生这种情况,从R调用Julia代码就像调用C/C++代码一样容易。然而,在这成为可能之前,需要做大量的工作。快速更新。自从有人提出这个问题以来,Julia软件包已经开始出现,它允许人们从Julia内部调用R程序
更多信息:有人看过这个项目吗 相当新,但似乎正在做的正是要求 现在,R包在R中看起来相当不错。
R CMD check
运行时没有警告或错误(如果julia
安装正确)
在我看来,最大的任务是让Julia返回命名列表,这些列表构成了R中真正基本的、灵活的通用数据结构
注意Doug Bates提醒我Julia到R的双向接口(即R到Julia的另一个方向)。此外,Doug建议针对julia0.4.0,而不是当前稳定版本的julia
自编写上述内容以来,又出现了多个接口:
现在(2021-04),我们有了R包
- (~2017)将Julia嵌入R,并积极维护
- (~2019年),也可从中获得更高的目标,例如,直接将julia对象导入R
- 还有约翰·钱伯斯(R的创造者之一)设计的针对eXtendR的from系列软件包。它使用一种稍微不同的方法(JSON)在Julia和R之间传输数据,然后是rJulia和类似的包。我最近创建了一个名为
JuliaCall
的R包,它将Julia嵌入R中。该包位于CRAN上
软件包的用法如下所示:
library(JuliaCall)
julia <- julia_setup()
julia_command("a = sqrt(2)"); julia_eval("a")
julia_eval("sqrt(2)")
julia_call("sqrt", 2)
julia_eval("sqrt")(2)
库(JuliaCall)
julia您可能还想查看我的尝试:JuliaConnectoR
R-package。该软件包可从和获得
它的目标是在R中直接从Julia导入函数,这样它们就可以像R代码中的R函数一样使用。Julia函数的返回值被转换为R数据结构,这些数据结构可以在R中使用,也可以传递回Julia。
为了进一步集成Julia和R,还可以通过将R函数作为回调函数传递,从Julia回调到R
与XRJulia类似,JuliaConnectoR依赖于TCP,但它是面向功能的,并使用优化的自定义流格式,而不是像XRJulia那样使用基于文本的JSON消息。
通过TCP进行通信的一个优点是对于Julia和R的不同版本的稳定性。通过在C接口级别(如RCall和JuliaCall do)进行集成,要保持这种稳定性要困难得多
这个软件包和朱莉娅一起工作≥ 1.0和广泛的R版本。我猜您将是一个非常早期的采用者,并受到这些处罚。我很高兴自己错了——我也很高兴让你来做这项工作,为我们这些媒体采用者铺平道路……他们在性能基准测试中使用的功能似乎是一种非常不寻常的使用R:。这几乎就像把柴油机放进一辆法拉利车里……我有一座茱莉亚-托-瑞桥正在运转()。换一种方式取决于Julia end的工作仍在进行中。@lgautier我真诚地希望你能设法恢复工作。见鬼,如果有一个kickstarter页面来支持这一点,我肯定会在那里。@James链接断了-新的一个似乎是这听起来很有希望。我(和我认为其他人)认为Julia是Matlab目前使用方式的一个很好的替代品——因为计算量大的结果仍然