【问题标题】:Is it possible to use Sublime text 2 to work in with R-markdown-files?是否可以使用 Sublime text 2 来处理 R-markdown-files?
【发布时间】:2016-12-07 11:52:08
【问题描述】:

我最近发现您可以非常巧妙地使用 R-markdown(.Rmd) 文件。因为我更喜欢在 Sublime text 2 中完成我的所有工作,所以我很高兴找到这个package。虽然感谢post,发送到 R 的工作很好,但由于某种原因,sublime 没有编译我的降价文件。在 strg+shift+b 而不是 .md 文件之后,我收到此错误:

Traceback (most recent call last):
  File ".\sublime_plugin.py", line 337, in run_
  File ".\exec.py", line 154, in run
TypeError: __init__() got an unexpected keyword argument 'shell_cmd'

测试文件有这种形式

% Test document

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do `eiusmod` tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.

```{r example_chunk, fig.width=5, fig.height=3}
x <- rnorm(100)
y <- rnorm(100)
plot(y ~ x, pch=20)
``` 

我使用 python 2.7。并安装了 knitr 的所有依赖项。

【问题讨论】:

    标签: r sublimetext2 sublimetext knitr r-markdown


    【解决方案1】:

    该软件包的构建系统包含与 Sublime Text 2 不兼容的 Run 变体,这就是导致您的问题的原因。这似乎是包作者的疏忽,因此可能值得提交错误报告。

    与此同时,您可以通过修改构建文件自行解决问题。如果您打开Packages\SublimeKnitr\knitr-Markdown.sublime-build(如果您没有手动安装插件,请使用PackageResourceViewer),您将看到以下内容:

    {
      "selector": "text.html.markdown.knitr",
      "working_dir": "${project_path:${folder}}",
      "env": { "LANG": "en_US.UTF-8" },
      "cmd": [ "Rscript -e \"library(knitr); knit('$file', output='$file_path/$file_base_name.md')\"" ],
      "shell": true,
    
      "variants":
      [
        {
          "name": "Run",
          "working_dir": "$file_path",
          "shell_cmd": "Rscript -e \"rmarkdown::render(input = '$file')\""
        }
      ]
    }
    

    问题在于 Sublime Text 2 不支持 shell_cmd(这似乎是 Sublime Text 3 的补充)。主构建使用 cmd 并将 shell 设置为 true 以运行 shell,这是在 Sublime Text 2 中解决此问题的正确方法。

    如果您通过将shell_cmd 更改为cmd 并将字符串参数包含在方括号中并包括shell 行来修改变体:

    "cmd": [ "Rscript -e \"rmarkdown::render(input = '$file')\"" ],
    "shell": true
    

    它应该适合你。请注意,构建文件是 JSON,因此所有内容都正确地用逗号分隔很重要。

    这里可能不需要添加"shell": true 部分。它可能会在构建的早期保留。我不熟悉 Sublime Text 2 是如何处理的。

    【讨论】:

    • 它绝对解决了错误。但我建议大家只使用 Sublime Text 3。在那里设置更容易
    • 如果您对使用 rnw-files 的可能性不感兴趣,Atom 也是一种选择(参见haroldpimentel.wordpress.com/2016/11/28/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多