Warm tip: This article is reproduced from serverfault.com, please click

其他-错误:在R中找不到函数...

(其他 - Error: could not find function ... in R)

发布于 2011-08-11 14:04:19

这是一个常见问题,请尽可能完整。答案是社区答案,因此,如果你认为缺少某些内容,请随时进行编辑。

此问题已在meta上进行了讨论和批准。

我正在使用R并尝试过,some.function但出现以下错误消息:

Error: could not find function "some.function"

这个问题经常出现。当你在R中遇到这种类型的错误时,如何解决呢?

Questioner
Unknown
Viewed
0
community wiki 2019-01-22 22:38:38

你应该检查以下几件事:

  1. 你是否正确输入了函数名称?名称区分大小写。
  2. 你是否安装了包含该功能的软件包?install.packages("thePackage")(这仅需要执行一次)
  3. 你是否将该程序包附加到工作区? require(thePackage)library(thePackage)(每次启动新的R会话时都应这样做)
  4. 你是否正在使用尚不存在此功能的旧R版本?

如果不确定该函数位于哪个包中,则可以做一些事情。

  1. 如果确定安装并附加/加载了正确的软件包,请键入help.search("some.function")??some.function以获取一个信息框,该信息框可以告诉你该软件包包含在哪个软件包中。
  2. find并且getAnywhere还可以用于定位功能。
  3. 如果你不知道包的线索,你可以使用findFnsos包装中解释这个答案
  4. RSiteSearch("some.function")或使用rdocumentationrseek搜索是找到函数的替代方法。

有时你需要使用旧版本的R,但是运行为新版本创建的代码。届时将找不到新添加的功能(例如R 3.4.0中的hasName)。如果使用较旧的R版本并希望使用较新的功能,则可以使用软件包的反向端口使这些功能可用。你还会在backport的git repo上找到需要反向移植的功能列表请记住,早于R3.0.0的R版本与为R3.0.0和更高版本构建的软件包不兼容。