我想要一个调用,它返回一个向量,其中包含我可以在当前 R session 中调用的所有函数的名称。有人知道如何实现这一目标吗?
(我想根据此向量检查用户输入的变量。用户输入例如 c
作为变量名称时,我们遇到了一些不可预见的问题)
更新:我想从当前加载的所有包中获取函数名称。
解决方案(半途):基于 Joris Meys 的提示和 lsf.str()
我想出了以下函数,该函数返回一个排序向量,其中包含所有当前可用的向量函数名称:
getFunctionNames <- function() {
loaded <- (.packages())
loaded <- paste("package:", loaded, sep ="")
return(sort(unlist(lapply(loaded, lsf.str))))
}
但另请参阅 Joris Meys 帖子的评论以获得更好的答案。
最佳答案
我会使用lsf.str()
作为开始。
例如:x <- as.character(lsf.str("package:base"))
为您提供基础包中所有函数的列表。您可以添加所有要检查的包。 stats
和utils
首先想到的是。
编辑:关于您有关当前加载的包的问题:
x <- unlist(sapply(search()[-1],function(x)as.character(lsf.str(x)))) 查看评论
pkgs <- search()
pkgs <- pkgs[grep("package:",pkgs)]
y <- unlist(sapply(pkgs,lsf.str))
就可以了。
关于function - 有没有一种方法可以获取包含 R 中可以使用的所有函数名称的向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4267744/