问。如何编写一个 R 包函数,以一种简单/对 R 用户友好/高效。例如,如何处理从包中调用 adataset
的 afunction()
?
我认为的可能不简单/友好/高效:
用户需要运行
data(adataset)
运行前
函数(...)
或者收到 Error: ... object 'adataset' not found
。我注意到一些包有内置数据集,可以在包加载时随时调用,例如,iris
,无需将其带到全局环境中即可调用。
我考虑过的可能选择:
将
data(NamedDataSet)
直接写入函数中。这是个坏主意吗?鉴于我对函数环境的有限理解,我认为也许可以,看看内存。将数据集的结构直接编码到函数中。我认为这取决于数据的大小,但这让我想知道如何在包中进行适当的文档编制.
什么都不改变。给定一个足够大的数据集,在调用函数之前实现不同于读取它的方式可能没有意义。
任何意见表示赞赏。
最佳答案
您可能会发现这些关于编写 R 数据包的资源很有用:
- the "External Data" section of R Packages
- Creating an R data package
- Creating an R data package (overview)
特别注意 DESCRIPTION
文件和行 LazyData: true
的用法。这就是无需使用 data()
即可获得数据集的方式,如您提到的 iris
示例。
关于r - 应该在函数之前还是在函数内部加载数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44317664/