我想要一个调用返回一个向量,其中包含我可以在当前 R 会话中调用的所有函数的名称。有人知道如何实现这一目标吗?
(我想根据这个向量检查用户输入的变量。我们在用户输入时遇到了一些不可预见的问题,例如,c
作为变量名)
UPDATE:我想从当前加载的所有包中获取函数名称。
解决方案(一半):基于 Joris Meys 的提示lsf.str()
我想出了以下函数,它返回一个带有所有当前可用函数名称的排序向量:
getFunctionNames <- function() {
loaded <- (.packages())
loaded <- paste("package:", loaded, sep ="")
return(sort(unlist(lapply(loaded, lsf.str))))
}
但也请参阅 Joris Meys 帖子的评论以获得更好的答案。
I'd use lsf.str()
作为一个开始。
eg : x <- as.character(lsf.str("package:base"))
为您提供基础包中所有函数的列表。您可以添加所有要检查的包。stats
and utils
首先想到的。
编辑:关于您有关当前加载的软件包的问题:
x <- unlist(sapply(search()[-1],function(x)as.character(lsf.str(x)))) see comments
pkgs <- search()
pkgs <- pkgs[grep("package:",pkgs)]
y <- unlist(sapply(pkgs,lsf.str))
就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)