我的同事希望确保我们在 R 中的工作独立于平台,特别是代码可以在 Linux、Mac 和 Windows 上运行,并且在一个系统上创建的文件可以在其他系统上运行。
由于这个问题之前在我的团队中出现过,我希望得到一个笼统的答案,这将使我更容易自信地向我的合作者保证不会出现问题。例如,除了“因为(主题专家) https://stackoverflow.com/users/143305/dirk-eddelbuettel这么说吧”。
- 一般来说,有没有办法知道 R 的任何功能是否特定于平台(我可以假设这会在函数的帮助中说明)吗?
- 是否有我可以确信将独立于平台的包或函数?
- 是否有我应该警惕的包或函数类型?
我之前问过两个关于R创建的文件的跨平台可读性的问题:与 HDF5 或 netCDF 相比,使用 .Rdata 文件有哪些缺点? https://stackoverflow.com/q/7838027/199217 and 使用“dump”转储的 R 对象是否跨平台可读? https://stackoverflow.com/q/10840741/199217
除了卡尔的回答之外,obvious确保您的工作独立于平台的方法是test在所有平台上。
这正是 CRAN 对其 3800 多个软件包所做的事情,并且您可以访问日志here http://cran.r-project.org/web/checks/check_summary.html.
简而言之,R 确实努力做到平台无关,并且大部分都取得了成功。要对代码执行此操作,您需要避免使用引入依赖项的 API 或工具。看看像这样的抽象system.file(package="boot")
以及它们使用的函数——您可以轻松地抽象文件系统“根”,并且分隔符已经处理完毕。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)