2016-07-15 24 views
2

有没有办法根据他们的类列出对象?例如,只列出工作区中的数据框对象。如何只列出R中的数据框对象?

+1

检查[此帖](http://stackoverflow.com/questions/35371882/how-can-i-access-all-objects-of-class-data-frame-inside-globalenv-in -r) –

+0

@docendodiscimus感谢您的链接。我喜欢'dflist < - Filter(is.data.frame,as.list(.GlobalEnv))'解决方案。 – Veera

回答

0
for (obj in ls()) { 
    if(class(get(obj)) == "data.frame") 
     print(obj) 
} 
1

这里是sapplyclass的方式来检索环境是data.frames对象的名称:

ls()[sapply(ls(), function(i) class(get(i))) == "data.frame"] 
+0

你为什么复杂呢?使用这个'ls()[sapply(ls(),function(t)is.data.frame(get(t)))]' – user2100721

+0

这将返回与我所说的不同的东西。这将是一个逻辑向量。我正在返回对象的名称。我不确定你的陈述是否比我的更清晰。 – lmo

+1

确切的代码已经出现在这个帖子发布之前,这个帖子里有两个标签。 – akrun