这是一个常见问题,所以请尽可能完整。答案是一个社区答案,所以如果您认为遗漏了什么,请随意编辑。 这个问题在meta上进行了讨论和批准。

我用R做了一些尝试。函数,但我得到以下错误消息:

Error: could not find function "some.function"

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


当前回答

您可以通过函数调用的名称间距::来修复此错误

comparison.cloud(colors = c("red", "green"), max.words = 100)

to

wordcloud::comparison.cloud(colors = c("red", "green"), max.words = 100)

其他回答

即使函数名是有效的,如果缺少一些强制性参数(即没有提供足够的参数),也会发生此错误。 我在Rcpp上下文中得到了这个,在那里我写了一个带有可选参数的c++函数,并且没有在R中提供这些参数。似乎来自c++的可选参数被R视为强制性的。因此,R无法为正确的名称找到匹配的函数,但参数数量不正确。

Rcpp函数:SEXP RcppFunction(arg1, arg2=0) {} R呼叫: RcppFunction(0)引发错误 RcppFunction(0,0)没有

Rdocumentation.org有一个非常方便的搜索功能,它可以让你从CRAN上的所有包中,以及从Bioconductor和GitHub上的包中找到函数。

我犯了错误

错误:找不到函数

当我用RStudio做一个包的R CMD检查时发生。我发现

exportPattern(“。”)

命名空间文件成功了。作为旁注,我最初配置了RStudio,让它使用ROxygen来制作文档——并选择了ROxygen为我编写NAMESPACE文件的配置,这将不断擦除我的编辑。因此,在我的实例中,我从Roxygen配置中取消了NAMESPACE,并向NAMESPACE添加了exportPattern(“.”)来解决这个错误。

如果在检查包(R CMD检查)时发生这种情况,请查看您的命名空间。

你可以通过在命名空间中添加以下语句来解决这个问题:

exportPattern("^[^\\\\.]")

这将导出所有不以点(".")开头的内容。这允许你有你的隐藏函数,从一个点开始:

.myHiddenFunction <- function(x) cat("my hidden function")

您可以通过函数调用的名称间距::来修复此错误

comparison.cloud(colors = c("red", "green"), max.words = 100)

to

wordcloud::comparison.cloud(colors = c("red", "green"), max.words = 100)