微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Pluto.jl 中更新 R 代码插入的问题

如何解决在 Pluto.jl 中更新 R 代码插入的问题

我在过去的研究中遗留了一些 R 代码。它不是很快,但它有效。 Julia 慷慨地允许将完整的迁移过程推迟到以后,通过 Rcall 使用这个 R 代码,这非常方便。最近我决定使用 Pluto 准备一个交互式演示,其中一个地方使用了通过 Rcall 插入 R 代码。第一次启动时,如果只打开 notebook,一切正常,但如果更改此代码块中的任何内容并重新计算,Pluto 将返回如下错误

cannot assign a value to variable workspace407.b from module workspace408

即使使用最简单的代码也会出现此错误,因此问题不是R代码中的错误,而是使用此代码更新单元格时环境之间的关系。如果直接从 Julia 运行这段代码,没有 Pluto,就不会有这样的问题。这是一个完全原始的例子来演示这个问题:

begin
    a = 2
    @rput a
    R"""
    b = a*2
    """
    @rget b
    b
end

要使其工作,using Rcall 必须在之前的某处调用,并且必须为外部启动安装和配置 R。在第一次使用此代码运行 Pluto notebook 时,一切正常。但是如果将例如 b = a*2 更改为 b = a*3 并使用此代码更新单元格,Pluto 将给出错误。如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。