【问题标题】:Making R package work in both Windows and Linux使 R 包在 Windows 和 Linux 中都能工作
【发布时间】:2010-12-13 16:47:11
【问题描述】:

我用 R 写了一个非常基础的包,其实我是按照this tutorial 来创建一个基础包的。

我的包在 linux 中运行良好。例如:

> install.packages("linmod", repos=NULL) install.packages("linmod", repos = NULL) 中的警告: 缺少参数“lib”:使用“/home/jpgoel/R/i486-pc-linux-gnu-library/2.9” * 安装 *source* 包 ‘linmod’ ... ** R ** 数据 ** 为延迟加载准备包 ** 帮助 *** 安装帮助索引 >>> 构建/更新包 'linmod' 的帮助页面 格式:文本 html 乳胶示例 ** 构建包索引 ... * 完成(林莫德) > 图书馆(林莫德) > 数据(mod1) > 模组1 称呼: linmod.default(x = x, y = y) 系数: 常数体重 -0.3566624 4.0340627

现在,我将我的“linmod”文件夹复制到 Windows XP,然后尝试了以下操作:

> install.packages("C:\\Documents\ and\ Settings\\foo\\Desktop\\linmod",repos=NULL) gzfile(文件,“r”)中的错误:无法打开连接 另外:警告信息: 1:在 unzip(zipname, exdir = dest) 中:从 zip 文件中提取错误 1 2:在 gzfile(file, "r") 中: 无法打开压缩文件“linmod/DESCRIPTION”,可能的原因“没有这样的文件或目录” >

好的。所以我把那个文件夹放到了一个 .zip 文件中。然后我转到 Packages -> Install package(s) from local zip files...并选择我的包。

> utils:::menuInstallLocal() 更新 HTML 包描述 > 图书馆(林莫德) 库中的错误(linmod):“linmod”不是有效的安装包

我被难住了。我的包没有任何本机代码(例如,没有用 C 编写的扩展。)

请随意下载.zip from here(下载链接一直在底部,“将文件保存到您的电脑”)

【问题讨论】:

    标签: r package


    【解决方案1】:

    考虑使用出色的CRAN Win-Builder 服务将您的 R 包源转换为 Windows 的可安装 zip 文件。

    您只需通过 ftp 上传,然后很快就会收到有关您的包裹的通知。

    【讨论】:

    • 好的,所以,我假设如果你的 R 包没有本地代码,那么它应该在 windows/linux 上运行,因为代码本身是跨平台的。显然情况并非如此?而且,是否有一些命令行实用程序可以在这两种格式之间进行转换?
    • AFAICT “它曾经以这种方式工作”,您仍然会发现推荐它的旧邮件。这些天来,内部格式发生了变化,您似乎无法转换,因此缺少转换器工具。因此,如果您经常需要它,请安装 Windows 工具链(参见 Rob 的教程)或使用 Win-Builder。
    【解决方案2】:

    您不能只从 linux 压缩目录。您需要专门为 Windows 构建。我已经发布了一些说明here。但是,如果你是先在其他平台上开发,那么 Dirk 的解决方案就更简单了。

    【讨论】:

      【解决方案3】:

      如果包相当简单,以下函数适用于我在 Windows 上使用 R 生成的包“MY_PACKAGE_1.0.tar.gz”(操作系统:Ubuntu 使用命令 R CMD build MY_PACKAGE

      install.packages("MY_PACKAGE_1.0.tar.gz", repos=NULL, type="source")
      

      type="source"选项是必须的,否则不起作用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-01
        • 2021-01-26
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多