这个问题在这里已经有了答案:
How can I make a list of all dataframes that are in my global environment?
(6 个回答)
去年关闭。
我正在尝试编写一个函数来列出全局环境中数据帧的名称。
我可以通过使用代码来做到这一点:
l<-ls()
l[sapply(l, function(x) is.data.frame(get(x)))]
我需要将其转换为一个我可以轻松调用的函数。
最佳答案
你必须知道ls()
默认情况下列出当前环境中的对象。如果将代码包装在函数中,则当前环境是内部函数环境,此时它是空的(我们位于函数的第一行,尚未定义任何内容)。由于您对全局环境感兴趣,因此您必须使用 .GlobalEnv
明确指定这一点。 :
lsf <- function() {
l<-ls(.GlobalEnv)
l[sapply(l, function(x) is.data.frame(get(x, envir = .GlobalEnv)))]
}
lsf()
关于r - 列出全局环境中的数据框名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63723690/