如何在函数内使用ls()搜索环境?

如何在函数内使用ls()搜索环境?,第1张

概述我想找到一组函数并保存它们,因为我想将它们发送到Rdata文件中的远程服务器,我不想在服务器上安装新的软件包. 虽然我使用下面的方法收到错误,但欢迎使用更简单/更好的方法. MWE: 这是两个虚函数: abcd.fun.1 <- function() return(1)abcd.fun.2 <- function() return(2) 我可以识别虚函数: ls()[grep('ab 我想找到一组函数并保存它们,因为我想将它们发送到Rdata文件中的远程服务器,我不想在服务器上安装新的软件包.

虽然我使用下面的方法收到错误,但欢迎使用更简单/更好的方法.

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()搜索环境?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存