r - R 中的错​​误 : could not find function . ..

标签 r function error-handling r-faq

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.

This question was discussed and approved on meta.

我正在使用 R 并尝试了 some.function 但收到以下错误消息:

Error: could not find function "some.function"

这个问题经常出现。当你在 R 中遇到此类错误时,你该如何解决它?

最佳答案

您应该检查一些事项:

  1. 你的函数名称写对了吗?名称区分大小写。
  2. 您是否安装了包含该功能的软件包? install.packages("thePackage")(这只需要完成一次)
  3. 您是否将该包附加到工作区? require(thePackage)(并检查其返回值)或library(thePackage)(每次启动新的 R session 时都应执行此操作)
  4. 您使用的是较旧的 R 版本,其中尚不存在此功能?
  5. 您是否使用特定软件包的不同版本?这可能是任一方向的:随着时间的推移,函数会被添加和删除,并且您引用的代码可能需要比您安装的包版本更新或旧的版本。

如果您不确定该函数位于哪个包中,您可以执行一些操作。

  1. 如果您确定安装并附加/加载了正确的软件包,请输入 help.search("some.function")??some.function获取一个信息框,可以告诉您它包含在哪个包中。
  2. findgetAnywhere 也可用于定位函数。
  3. 如果您对该软件包一无所知,您可以使用 sos 软件包中的 findFn,如 this answer 中所述。 .
  4. 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/

相关文章:

javascript - JavaScript 函数中参数的大小会影响其性能吗?

c - 如何检查矩阵反对角线上的项是否相同?

python - 缺少设置文件的适当 Python 异常类

python - 读取 python 文件时出错

windows - 处理外部程序错误

matlab - Matlab-如何捕获cp2tform函数发布的警告

r - 按顺序重命名 100 多个具有特殊名称的列

R Lubridate 在给定两位数的年份时返回不需要的世纪

将带有两个标题的 csv 读入 data.frame

替换 R 中低于阈值的所有值