Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 把她和茱莉亚联系起来?_R_Julia - Fatal编程技术网

R 把她和茱莉亚联系起来?

R 把她和茱莉亚联系起来?,r,julia,R,Julia,Julia看起来非常有希望实现快速和语法健全的计算(例如),但我怀疑在一段时间内,就总体统计工作流程而言,它不会接近R。所以我想使用C++主要用于R程序:优化代码的慢部分。在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段有什么设施 因此: 有什么设施可以连接R和Julia 在从零到Rcpp的范围内,它们有多强大和经过深思熟虑 < >我想从R调用朱丽亚,就像RCPP允许从R中调用C++一样。我不想给朱莉娅打电话。(所以RCall.jl不起作用)我也是。但就像@gsk3一样,我

Julia看起来非常有希望实现快速和语法健全的计算(例如),但我怀疑在一段时间内,就总体统计工作流程而言,它不会接近R。所以我想使用C++主要用于R程序:优化代码的慢部分。在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段有什么设施

因此:

  • 有什么设施可以连接R和Julia
  • 在从零到Rcpp的范围内,它们有多强大和经过深思熟虑
< >我想从R调用朱丽亚,就像RCPP允许从R中调用C++一样。我不想给朱莉娅打电话。(所以RCall.jl不起作用)我也是。但就像@gsk3一样,我在“Rcpp量表”上衡量这一点,因为我想将rich R对象传递给Julia。这一点现在似乎根本不被支持

Julia有一个漂亮而简单的C接口。这样我们就得到了类似于
.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目前使用方式的一个很好的替代品——因为计算量大的结果仍然