虽然我使用下面的方法收到错误,但欢迎使用更简单/更好的方法.
MWE:
这是两个虚函数:
abcd.fun.1 <- function() return(1)abcd.fun.2 <- function() return(2)
我可以识别虚函数:
ls()[grep('abcd',ls())]
但是当我将它包装在一个函数中时:
find.test <- function(x) { return(ls()[grep(x,ls())]) } find.test('abcd')
该函数返回字符(0)
最终我想
save(find.test('abcd'),file = test.Rdata)解决方法 >为什么不使用ls的pattern =参数?
>在函数内调用ls会列出其中存在的对象
功能范围,而不是全局环境(这在?ls中解释).
如果要从函数列出全局环境中的对象,请指定envir = .GlobalEnv.
x <- 1:10f <- function() ls()g <- function() ls(envir=.GlobalEnv)h <- function() ls(envir=.GlobalEnv,pattern="[fg]")f()# character(0)g()# [1] "f" "g" "h" "x"h()# [1] "f" "g"总结
以上是内存溢出为你收集整理的如何在函数内使用ls()搜索环境?全部内容,希望文章能够帮你解决如何在函数内使用ls()搜索环境?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)