如何处理R中的“找不到函数(could not find function)”错误?
由于以下原因,发生错误“找不到功能”-
函数名称不正确。始终记住,函数名称在R中区分大小写。
尚未安装包含该功能的软件包。在使用包中包含的任何功能之前,我们必须在R中安装一次包。可以作为install.packages(“package_name”)完成
使用该功能之前未加载软件包。要使用包中包含的功能,我们需要加载该包,并且可以将它作为library(“package_name”)完成。
如果您使用的功能不存在,则R版本较旧。
如果您已经安装并加载了许多软件包,但是忘记了哪个软件包包含您正在使用的功能,则可以使用getAnywhere来完成
示例
> library(ggplot2) > library(BSDA) Loading required package: lattice Attaching package: ‘BSDA’
以下对象被'package:datasets'屏蔽-
橙子
> library(purrr) > getAnywhere(ggplot) A single object matching ‘ggplot’ was found It was found in the following places package:ggplot2 namespace:ggplot2 with value function (data = NULL, mapping = aes(), ..., environment = parent.frame()){ UseMethod("ggplot") } <bytecode: 0x0000000011201848> <environment: namespace:ggplot2>
在这里,我们加载了三个软件包,分别为ggplot2,BSDA和purr。假设我们想知道哪个软件包包含ggplot函数。因此,我们使用了getAnywhere,它将包名称返回为ggplot2。
您应确保不要犯上述错误。如果您使用的是R的较旧版本,但想使用为较新版本创建的函数执行计算,则将不可能。但是,如果您使用包反向移植使新添加的功能可用于旧版本的R,则变为可能。此外,您还需要在反向移植的gitrepo上找到需要反向移植的功能列表。请记住,早于R3.0.0的R版本与为R3.0.0和更高版本构建的软件包不兼容。