首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:调用库()时实际加载了什么?

R:调用库()时实际加载了什么?
EN

Stack Overflow用户
提问于 2014-08-04 17:53:19
回答 1查看 51关注 0票数 1

下面是对数据“GasolineYield”进行beta回归的R脚本片段:

代码语言:javascript
复制
library("betareg")
data("GasolineYield", package = "betareg")
gy_logit <- betareg(yield ~ batch + temp, data = GasolineYield)

它运行得很好,但是如果我运行了删除了第二行的代码,它就会错误地使用消息:

代码语言:javascript
复制
Error in terms.formula(form, ...) : object 'GasolineYield' not found

但是,包中的data.frame GasolineYield不是betareg吗?当我打电话给library("betareg")时,到底发生了什么?包中的所有数据不是都自动加载到当前环境中吗?有人能帮我理解这背后的机制吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-04 18:32:03

在大多数情况下,数据包含在R包中,目的是提供示例和其他不重要的任务。这就是为什么大多数包的数据集不会自动加载到环境中,您必须使用data()命令加载它们。这是件好事。对于那些主要提供函数来加载数据的包来说,这将是对内存、时间和名称空间的浪费,而用户并不经常使用这些函数。

加载包时,只有包设计器在“命名空间”文件中导出的内容可用。"DESCRIPTION“文件有一个名为"LazyData”的字段,它也决定数据行为。顺便说一下,包中的函数通常也是内部使用的,而不是在名称空间文件中导出的。

TL;DR,包编写器确定在加载包时哪些内容可用,并且它们在名称空间和描述文件中指定那些项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25124656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档