【问题标题】:Including Command Line Scripts with an R Package包含带有 R 包的命令行脚本
【发布时间】:2012-11-06 05:42:57
【问题描述】:

我有兴趣为我正在创作的名为 Slidify 的 R 包提供命令行界面。它使用Rscript,我认为这将使它成为跨平台的。脚本存储在子目录inst/slidify 中。为了使用任何目录中的脚本,我将其路径添加到我的.bash_profile,就像我在 Mac 上一样。

我的问题是

  1. 我应该如何以自动跨平台的方式安装脚本?
  2. 如何确保在此过程中保留文件权限?
  3. 脚本的 shebang 行应该是什么?我目前正在使用

    #!/usr/bin/Rscript --vanilla --slave

我将不胜感激有关如何处理此问题的指示以及已经执行此操作的 R 包的任何示例。只是为了确保,我清楚这将如何工作,用户只需从命令行运行 slidify generate slides.Rmd 就可以从 slides.Rmd 生成幻灯片。

更新:

这是我从命令行在 Mac 上安装它的方法。我使用优秀的 sub 库通过 37 个信号来创建脚本。

echo "$(path/to/clidir/slidify init -)" >> ~/.bash_profile exec bash

两个后续问题

  1. 我可以将这些命令打包成一个R函数install_slidify_cli吗?
  2. 如何为 Windows 用户镜像这些命令?

【问题讨论】:

    标签: r package rscript r-package


    【解决方案1】:

    喜欢slidify,所以很乐意提供帮助。

    但简而言之,你不能。

    R 包根本无法安装在$R_HOME 或所选库文件夹之外。将脚本放入包中,并告诉用户复制它。如果有更好的方法,带有前任/替代Rscriptlittler 包早就会使用它,而roxygen / roxygen2 也会发货。

    【讨论】:

    • 我相信pgfSweave曾经提供过这样的脚本,但apparently他们后来认为自动安装它是违反规则的。
    • 他们做到了,而且是可怕。当时我还在运行cran2deb autobuilder,它让我很适应。完全牛仔风格,完全疯狂。幸运的是其他人告诉了他们:)
    • 谢谢@DirkEddelbuettel 我更新了我的问题,详细介绍了如何从命令行安装 cli。感谢您对提出的两个后续问题的想法。
    • 不知道。 Re 1),我将~/bin/ 保留在我的路径中,只会从那里进行软链接。有很多选择,但不知道 2),因为那是非常无望的领域。
    • 现在可能会将其保留为非 Windows。鉴于您指出的许多选项,您会推荐什么?
    猜你喜欢
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多