如何在多个rdata文件中查找对象

时间:2015-06-15 06:21:38

标签: r

我试图找到一种方法,我可以搜索包含许多RData和RDA文件的文件夹,以找到我忘记在哪个RDA文件中存在的特定对象。
谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将.RData文件(与RDA文件相同吗?)加载到环境中,然后测试此函数是否存在名称:

 hasgot=function(f,name){
      e=new.env()
      load(f,env=e)
      name %in% ls(env=e,all.names=TRUE)
      }

以下变化可能更快:

 hasgot=function(f,name){
      e=new.env()
      load(f,env=e)
      !is.null(e[[name]])
      }

用法只是hasgot("my.RData","foo"),以查看foo是否在my.RData中。它没有对任何一个参数进行矢量化,所以一次只能给它一个东西。

问题的完整解决方案可能涉及将其包装在list.files和循环中。