This is meant to be a FAQ question, so please be as complete as possible. The answer is a community answer, so feel free to edit if you think something is missing.
我正在使用 R 并尝试了 some.function
但收到以下错误消息:
Error: could not find function "some.function"
这个问题经常出现。当你在 R 中遇到此类错误时,你该如何解决它?
最佳答案
您应该检查一些事项:
- 你的函数名称写对了吗?名称区分大小写。
- 您是否安装了包含该功能的软件包?
install.packages("thePackage")
(这只需要完成一次) - 您是否将该包附加到工作区?
require(thePackage)
(并检查其返回值)或library(thePackage)
(每次启动新的 R session 时都应执行此操作) - 您使用的是较旧的 R 版本,其中尚不存在此功能?
- 您是否使用特定软件包的不同版本?这可能是任一方向的:随着时间的推移,函数会被添加和删除,并且您引用的代码可能需要比您安装的包版本更新或旧的版本。
如果您不确定该函数位于哪个包中,您可以执行一些操作。
- 如果您确定安装并附加/加载了正确的软件包,请输入
help.search("some.function")
或??some.function
获取一个信息框,可以告诉您它包含在哪个包中。 find
和getAnywhere
也可用于定位函数。- 如果您对该软件包一无所知,您可以使用
sos
软件包中的findFn
,如 this answer 中所述。 . RSiteSearch("some.function")
或使用 rdocumentation 进行搜索或rseek是查找函数的替代方法。
有时您需要使用旧版本的 R,但运行为新版本创建的代码。新添加的函数(例如 R 3.4.0 中的 hasName)将无法找到。如果您使用较旧的 R 版本并想使用较新的功能,可以使用包 backports使此类功能可用。您还可以在 git repo of backports 上找到需要向后移植的函数列表。 。请记住,早于 R3.0.0 的 R 版本与为 R3.0.0 及更高版本构建的软件包不兼容。
关于r - R 中的错误 : could not find function . ..,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027288/