这是一个常见问题,所以请尽可能完整。答案是一个社区答案,所以如果您认为遗漏了什么,请随意编辑。 这个问题在meta上进行了讨论和批准。
我用R做了一些尝试。函数,但我得到以下错误消息:
Error: could not find function "some.function"
这个问题经常出现。当你在R中得到这种类型的错误时,你如何解决它?
这是一个常见问题,所以请尽可能完整。答案是一个社区答案,所以如果您认为遗漏了什么,请随意编辑。 这个问题在meta上进行了讨论和批准。
我用R做了一些尝试。函数,但我得到以下错误消息:
Error: could not find function "some.function"
这个问题经常出现。当你在R中得到这种类型的错误时,你如何解决它?
当前回答
即使函数名是有效的,如果缺少一些强制性参数(即没有提供足够的参数),也会发生此错误。 我在Rcpp上下文中得到了这个,在那里我写了一个带有可选参数的c++函数,并且没有在R中提供这些参数。似乎来自c++的可选参数被R视为强制性的。因此,R无法为正确的名称找到匹配的函数,但参数数量不正确。
Rcpp函数:SEXP RcppFunction(arg1, arg2=0) {} R呼叫: RcppFunction(0)引发错误 RcppFunction(0,0)没有
其他回答
即使函数名是有效的,如果缺少一些强制性参数(即没有提供足够的参数),也会发生此错误。 我在Rcpp上下文中得到了这个,在那里我写了一个带有可选参数的c++函数,并且没有在R中提供这些参数。似乎来自c++的可选参数被R视为强制性的。因此,R无法为正确的名称找到匹配的函数,但参数数量不正确。
Rcpp函数:SEXP RcppFunction(arg1, arg2=0) {} R呼叫: RcppFunction(0)引发错误 RcppFunction(0,0)没有
如果您正在使用parallelMap,则需要将自定义函数导出到从属作业,否则将得到“无法找到函数”的错误。
如果在parallelStart上设置了一个非缺失的级别,则应该将相同的参数传递给parallelExport,否则将得到相同的错误。所以这一点应该严格遵守:
parallelStart(mode = "<your mode here>", N, level = "<task.level>")
parallelExport("<myfun>", level = "<task.level>")
您可以通过函数调用的名称间距::来修复此错误
comparison.cloud(colors = c("red", "green"), max.words = 100)
to
wordcloud::comparison.cloud(colors = c("red", "green"), max.words = 100)
我得到了同样的错误,我正在运行版本.99xxx,我从帮助菜单中检查更新并将我的RStudio更新到1.0x,然后错误没有出现
所以很简单的解决方法,就是更新你的R Studio
Rdocumentation.org有一个非常方便的搜索功能,它可以让你从CRAN上的所有包中,以及从Bioconductor和GitHub上的包中找到函数。